215 votes

Existe-t-il une interface graphique C++ gdb pour Linux ?

En bref : Est-ce que quelqu'un connaît une interface graphique pour gdb qui l'amène au même niveau ou proche de l'ensemble des fonctionnalités que l'on obtient dans la version la plus récente de Visual C++ ?

En détail : En tant que personne ayant passé beaucoup de temps à programmer sous Windows, l'une des plus grandes pierres d'achoppement que j'ai trouvées chaque fois que j'ai dû coder du C++ sous Linux est que le débogage de quoi que ce soit en utilisant la ligne de commande gdb me prend plusieurs fois plus de temps que dans Visual Studio, et cela ne semble pas s'améliorer avec la pratique. Certaines choses sont simplement plus faciles ou plus rapides à exprimer graphiquement.

Plus précisément, je cherche une interface graphique qui :

  • Gère tous les éléments de base comme le passage au-dessus et dans le code, les variables de surveillance et les points d'arrêt.
  • Comprend et peut afficher le contenu des types de données C++ complexes et imbriqués.
  • ne s'embrouille pas et peut de préférence parcourir intelligemment le code et les structures de données modélisés tout en affichant des informations pertinentes telles que les types de paramètres.
  • Peut gérer des applications threadées et passer d'un thread à l'autre pour parcourir ou visualiser l'état d'une application.
  • Peut gérer l'attachement à un processus déjà démarré ou la lecture d'un core dump, en plus du démarrage du programme dans gdb.

Si un tel programme n'existe pas, j'aimerais connaître les expériences des gens avec des programmes qui répondent au moins à certains de ces points. Quelqu'un a-t-il des recommandations à faire ?

Edit :
C'est bien d'énumérer les possibilités, et je prends ce que je peux avoir, mais ce serait encore plus utile si vous pouviez inclure dans vos réponses :
(a) Si vous avez utilisé ou non cette interface graphique et si oui, quels sont vos commentaires positifs/négatifs à son sujet.
(b) Si vous le savez, quelles sont les caractéristiques susmentionnées qui sont/ne sont pas supportées.

Les listes sont faciles à trouver, les sites comme celui-ci sont excellents car ils permettent de se faire une idée des expériences personnelles des gens avec les applications.

21 votes

+1 pour "Les sites comme celui-ci sont géniaux car ils permettent de se faire une idée des expériences personnelles des gens". De nos jours, trop de gens se contentent de dresser une liste, ce qui, à mon avis, passe complètement à côté de l'essentiel.

1 votes

0 votes

7voto

codeguru Points 1278

J'ai utilisé KDbg (qui ne fonctionne que sous KDE).

7voto

Le frontal emacs, étroitement lié à l'IDE emacs, est aussi confortable que le frontal gdb d'eclipse. Si vous travaillez déjà avec emacs, vous l'apprécierez :

Frontal GDB Emacs

6voto

Marv Points 31

Qt Creator sous Linux est certainement au même niveau que Visual Studio sous Windows pour le C++ de nos jours. Je dirais même qu'il est meilleur du côté du débogueur.

5voto

Andrew Edgecombe Points 13183

J'ai essayé plusieurs guis différents pour gdb et j'ai trouvé que DDD était le meilleur d'entre eux. Et si je ne peux pas faire de commentaires sur d'autres offres non gdb pour linux, j'ai utilisé un certain nombre d'autres débogueurs sur d'autres plateformes.

gdb fait la majorité des choses que vous avez dans votre liste de souhaits. DDD les présente sous un jour plus agréable. Par exemple, le changement de thread est simplifié. La mise en place de points d'arrêt est aussi simple que l'on pourrait s'y attendre.

Vous bénéficiez également d'une fenêtre cli au cas où vous souhaiteriez faire quelque chose d'obscur.

La caractéristique de DDD qui se démarque de tous les autres débogueurs que j'ai utilisés est le "graphique" de données. Cela vous permet d'afficher et d'arranger les structures, les objets et la mémoire sous forme de boîtes glissantes. Un double clic sur un pointeur ouvre les données déréférencées avec des liens visuels vers le parent.

5voto

Florent Points 167

Il y a un IDE qui manque dans cette liste et qui est très efficace (je l'ai utilisé dans de nombreux projets C/C++ sans aucun problème) : Netbeans .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X