Journal CGDB 0.7.0 est sorti... il y a plusieurs mois :S

Posté par  . Licence CC By‑SA.
Étiquettes :
16
31
oct.
2017

Salut.

J'utilise cgdb depuis plusieurs années maintenant, sans trop trop suivre son actualité.
En faisant une petite pause entre 2 casse-tête de démêlage de spaghetti multithreadé (hé oui, ils sont modernes, les italiens…) j'ai zieuté sur developpez.com et suis tombé sur un debugguer qui à l'air intéressant parce que moi, toute piste pour trouver enfin un debugguer qui tienne la route sous linux et qui n'embarque pas avec lui la moitié du bureau KDE ou gnome, et de préférence pas intégré à un IDE, ça m'intéresse.

En lisant l'article, je me suis rappelé qu'il y a bien longtemps, j'avais pondu un patch crade (je ne sais plus si je l'avais soumis, pas très important de toute façon il buggait) pour supporter des raccourcis un peu plus vi-like (j/k pour se promener, je ne suis plus sûr pour gg/G) et avoir un truc un peu plus visuel pour voir ou l'on est dans le code.
Du coup, j'ai été voir ce que devenait le projet, et j'ai eu l'agréable surprise de voir que ça va faire presque 8 mois que la version 0.7.0 est sortie, supportant, entres autres, ces fonctionnalités, mais aussi la possibilité de splitter les fenêtre non plus horizontalement, mais verticalement.

Certes, ce n'est pas grand chose en apparence, surtout pour tout ceux qui utilisent un machin graphique, mais perso, DDD je ne parviens même pas à comprendre comment on peut décemment utiliser ce truc, l'interface est un modèle de non-ergonomie et je n'ai jamais eu à la fois le temps, la patience et le courage nécessaire pour trouver une doc propre et l'ingérer.
Quant aux IDEs… bah, ce sont des IDEs quoi, perso, ça me gave de devoir créer un fichier projet juste pour debugguer un binaire qui est de toute façon déjà (fraîchement) compilé.

Donc voila un journal pour tout ceux qui, comme moi, ont raté ce petit outil qui rend le debug pur décemment utilisable sous linux. Et pour les autres, ça permettra de troller, puisque demain étant férié, aujourd'hui est un mini-trolldi.

Ah, j'oubliais, une fonctionnalité que je ne pense pas utiliser de sitôt, mais qui sait: il supporte maintenant l'affichage du code assembleur. Bon, j'ai envie de dire que tant qu'il n'y a pas d'affichage interactif du contenu des registres, ça me fait une belle jambe, mais bon… ça doit servir à quelqu'un, puisque c'est codé :)

  • # IDE

    Posté par  . Évalué à 9.

    Quant aux IDEs… bah, ce sont des IDEs quoi, perso, ça me gave de devoir créer un fichier projet juste pour debugguer un binaire qui est de toute façon déjà (fraîchement) compilé.

    Ben c'est sûr que si tu n'installes l'IDE que lorsque tu as un bug c'est un peu lourd, mais la plupart des êtres humains ne s'en servent pas que pour débogguer : c'est aussi utile pour le refactoring, par exemple.

    Du coup tu fais tout dans l'IDE. On me signale même que ce serait le concept du truc.

    • [^] # Re: IDE

      Posté par  . Évalué à 6.

      Mwai enfin bon y a un "problème" associé c'est qu'Unix c'est (entre autre) un gros IDE, et le plus standard qui soit.

      Du coup c'est un peu chiant de voir des gens maîtriser à priori leur bousin mais avoir l'air vaguement perdus quand on leur demande de faire ne serait-ce qu'un grep dans un shell.

    • [^] # Re: IDE

      Posté par  (site web personnel) . Évalué à 10.

      La plupart des êtres humains n'utilise pas d'IDE. La plupart des développeurs sous Linux non plus d'ailleurs (d'après le dernier sondage github).

      • [^] # Re: IDE

        Posté par  (site web personnel) . Évalué à 1.

        C'est bien dommage, je trouve que KDevelop et Qt Creator sont pourtant de bon EDI pour Linux.

        Peux-tu donner la source du sondage Github ?

        • [^] # Re: IDE

          Posté par  . Évalué à 3.

          Le truc, c'est que sous Debian, pour installer KDevelop, il faut installer KDE, no way pour moi, j'ai autre chose à faire de ma bande passante et de mon espace disque.

          Et pour ce qui est de QtCreator… comment dire… la dernière fois que j'ai utilisé ce machin, il ne me restait plus que l'équivalent d'une feuille A6 pour coder.
          Comparé à mon i3 combiné avec mes urxvt, le gain d'espace est juste évident. La seule chose qui me fait parfois envie dans les IDEs, c'est bien leurs debuggers, et encore.

          Les debuggers les plus puissants et les mieux foutus que j'aie vu, c'était sous windows, et aucun n'incluait, à ma connaissance, de fonctionnalités d'édition de code:

          • softice un débugger en ring 0,
          • IDA qui même dans sa version démo est capable de rendre la lecture de code assembleur relativement aisée,
          • w32dasm lui était un peu léger en fonctionnalités il faut le reconnaître, mais ollyDbg en revanche était très bien.

          Si un seul IDE sous linux dispose d'un interface à gdb (ou llvm, pourquoi pas) aussi efficace que n'importe lequel de ces outils, je suis curieux de savoir duquel il s'agit (cgdb en est, lui aussi, extrêmement loin, nous somme d'accord, mais au moins il se lance dans la seconde même avec des machines pas sur-puissantes).
          Bon, dans le cas de softIce, il y avais bien rr0d mais j'avoue ne jamais avoir joué avec, et le projet semble mort depuis bien des années.

          Enfin, je serai aussi preneur du sondage github, je ne savais même pas que github en faisait…

  • # gdb dashboard pour l'assembleur

    Posté par  . Évalué à 4.

    tant qu'il n'y a pas d'affichage interactif du contenu des registres, ça me fait une belle jambe

    C'est pour ça que cgdb n'est pas adapté au travail en assembleur. J'utilise https://github.com/cyrus-and/gdb-dashboard à la place.

  • # Beaver Debugger

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    Il y avait ça qui marchait pas mal:

    http://pasnox.tuxfamily.org/project/beaverdbg

    L'idée était de prendre la partie "debugger" de Qt Creator sans la partie IDE. Mais je ne crois pas que ça soit tenu à jour :(

  • # Nemiver

    Posté par  (site web personnel) . Évalué à 2.

    Bin sinon il y a Nemiver…
    https://wiki.gnome.org/Apps/Nemiver

    Et GNOME Builder doit bien avoir un débogueur aussi..
    https://wiki.gnome.org/Apps/Builder

    • [^] # Re: Nemiver

      Posté par  . Évalué à 2.

      J'ai testé nemiver (à plusieurs reprises, avec plusieurs versions de debian). Il m'a tout sauf convaincu, j'ai trouvé l'interface à la fois bordélique et vide (étrange concept), et comme c'est une application graphique, c'est conçu pour un usage à la souris ou alors avec des raccourcis claviers qu'il faut deviner. Généralement, quand je teste un debugger, c'est que ma patience avec celui que j'utilise atteint ses limites, donc je cherche un truc qui soit à la fois bien foutu, assez puissant et s'apprenne vite. Cgdb a, quand je l'ai découvert, rempli ces conditions.
      Mais vu que c'est debian, il y a peut-être eu des changements depuis dans la version upstream.

      Quant à l'autre, je ne connaissais pas, mais à vue de nez, ça ressemble à un IDE (vue la description qu'ils en font) et donc c'est hors concours.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.