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

0voto

radim Points 556

Au cours des 15 derniers mois, j'ai utilisé insight (fourni avec FC6). Il n'est pas génial, il est écrit en Tcl/Tk, mais il est simple et utile. DDD est d'une qualité/utilité similaire, mais un peu plus difficile à utiliser (divers problèmes d'interface graphique et omissions). J'ai également essayé d'intégrer gdb à mon IDE, SlickEdit. Cela a bien fonctionné (j'ai joué environ 4 heures avec), mais je n'ai pas aimé les changements de contexte de l'interface graphique. J'aime que mon IDE reste inchangé pendant que je débogue ; sous Windows, j'utilise SlickEdit pour l'IDE et Visual Studio Debugger pour le débogage. Donc, parmi les trois : Insight, DDD et SlickEdit, Insight est mon premier choix, je l'utilise >95% du temps, gdb en ligne de commande et DDD constituent les 5% restants. Si j'en ai l'occasion, j'évaluerai Eclipse à un moment donné, mon PC de travail ne semble pas avoir assez de RAM (1GB seulement) pour faire tourner Eclipse raisonnablement bien.

J'ai également entendu beaucoup d'éloges sur TotalView, notamment lors d'un entretien d'embauche. J'ai obtenu une évaluation pour notre entreprise à la fin de l'année 2008, mais nous n'avons finalement pas donné suite, car gdb était suffisamment bon pour nos besoins, et il est gratuit et omniprésent.

0voto

siddhusingh Points 467

Utiliser www.zero-bugs.com/ Débogueur zéro, il nécessite le support C++0x de gcc

0voto

Cutton Eye Points 354

Je cherchais un débogueur pour avancer dans un programme en cours. Dites : Attach. Le programme a été construit avec eclipse, mais à cause de quelques obstructions de multithreading, aucun fichier source n'a été créé. Peu importe.

Je suis devenu très à l'aise avec NetBeans.

  • [debug] du menu -> Attach Deugger...
  • comme le processus a choisi celui à déboguer
  • comme projet [nouveau projet]

Maintenant la fenêtre disparaît et vous ne voyez rien. Détachez-vous du processus. Le carré de lecture "Stop" aide.

  • importer la source du projet comme par exemple le dossier. ".../MonProjet/src
  • Il apparaît maintenant dans votre projet, et vous pouvez définir des points d'arrêt.
  • à nouveau débogueur ttach
  • a choisi le processus à déboguer.
  • le débogueur doit s'arrêter si le programme atteint le point d'arrêt suivant.

Allez dans [fenêtre] -> [Débogage] -> Votre fenêtre sera-t-elle confortable ?

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