Est-il C++ gdb interface graphique pour Linux?
Brièvement: personne Ne sait d'une interface graphique pour gdb qu'il apporte à la hauteur ou à proximité de l'ensemble des fonctionnalités que vous obtenez dans la plus récente version de Visual C++?
En détail: Comme quelqu'un qui a passé beaucoup de temps à la programmation de Windows, l'une des plus grandes pierres d'achoppement que j'ai trouvé à chaque fois que je code en C++ sous Linux, c'est que rien de débogage à l'aide de la ligne de commande gdb me prend plusieurs fois plus longtemps que dans Visual Studio, et il ne semble pas s'améliorer avec la pratique. Certaines choses sont tout simplement plus facile ou plus rapide pour exprimer graphiquement.
Plus précisément, je suis à la recherche d'une interface graphique:
- Gère toutes les notions de base comme le franchissement d' & dans le code, regarder des variables et des points d'arrêt
- Comprend et peut afficher le contenu de complexe & imbriqués C++ types de données
- Ne pas se confondre par et, de préférence, peut intelligemment étape à travers basé sur un modèle de code et des structures de données lors de l'affichage d'informations pertinentes telles que les types de paramètre
- Peut gérer des applications parallélisées et de basculer entre différents threads pour l'étape ou afficher l'état de
- Peut gérer attachés à un déjà commencé le processus ou la lecture d'un core dump, en plus de lancer le programme dans gdb
Si un tel programme n'existe pas, alors j'aimerais connaître l'expérience de gens ont eu avec des programmes qui répondent à au moins certains des points de balle.
Quelqu'un aurait-il des recommandations?
Edit:
Inscription sur les possibilités est grande, et je vais prendre ce que je peux obtenir, mais il serait encore plus utile si vous pouvez l'inclure dans vos réponses:
(a) Si oui ou non vous avez réellement utilisé ce GUI et si oui, quelle rétroaction positive/négative que vous avez sur elle.
(b) Si vous connaissez, quelles sont les caractéristiques mentionnées ci-dessus sont/ne sont pas pris en charge
Listes sont faciles à trouver, les sites de ce genre sont grands parce que vous pouvez vous faire une idée des gens expériences personnelles avec les applications.
- +1 pour "les Sites de ce genre sont grands parce que vous pouvez vous faire une idée des expériences des populations." Trop de gens de nos jours il suffit de faire une liste de vidage qui à mon humble avis complètement à côté du point.
- Sur le reverse engineering: reverseengineering.stackexchange.com/questions/1392/...
- Voir également la même question: Ce qui est une bonne unix alternative à la DDD (Data Display Debugger)?
Vous devez vous connecter pour publier un commentaire.
Vous ne trouverez pas rien la superposition de GDB qui peut rivaliser avec la puissance brute du débogueur Visual Studio. C'est juste trop puissant, et il est juste trop bien intégré à l'intérieur de l'IDE.
Pour une alternative Linux, essayez DDD si le logiciel libre est votre truc.
Eclipse CDT fournira une expérience comparable à l'aide de Visual Studio. J'utilise Eclipse CDT sur une base quotidienne pour écrire le code et le débogage des locaux et des processus à distance.
Si vous n'êtes pas familier avec l'aide d'un basé sur Eclipse IDE, l'interface graphique va prendre un peu pour s'y habituer. Cependant, une fois que vous arrivez à comprendre l'interface graphique des idées qui sont uniques à Eclipse (par exemple, un point de vue), à l'aide de l'outil devient une expérience agréable.
Le CDT de l'outillage fournit un décent C/C++ indexeur qui vous permet de rapidement trouver des références à des méthodes dans votre base de code. Il fournit également une belle macro d'extension de l'outil et limité prise en charge du refactoring.
En ce qui concerne le soutien pour le débogage, le CDT est capable de tout faire dans votre liste, à l'exception de la lecture d'un core dump (il peut le soutenir, mais je n'ai jamais essayé d'utiliser cette fonction). Aussi, mon expérience avec le débogage de code à l'aide de modèles est limité, donc je ne suis pas sûr de ce genre d'expérience CDT fournira à cet égard.
Pour plus d'informations sur le débogage à l'aide d'Eclipse CDT, vous voudrez peut-être vérifier ces guides:
gdb -tui fonctionne bien si vous voulez quelque chose de GUI-ish, mais encore le caractère en fonction.
Découvrez Nemiver C/C++ Débogueur. Il est facile à installer Ubuntu (Outils de développement/Débogage).
Mise à jour: Nouveau lien.
Je hais l'idée de développement de Windows, mais le débogueur VC++ est parmi les meilleurs que j'ai vu. Je n'ai pas trouvé un frontal graphique qui se rapproche de la CR un.
GDB est génial une fois que vous obtenez vraiment l'habitude. L'utiliser en colère suffisamment et vous deviendrez très compétent. Je peut siffler autour d'un programme de faire toutes les choses que vous avez énumérés sans trop d'effort de plus. Il a fait prendre un mois ou de souffrance sur une connexion SSH à un serveur distant avant j'était compétent. Je n'avais jamais revenir.
DDD est vraiment puissant, mais il était assez buggé. J'ai trouvé qu'il a gelé assez souvent quand il y a des messages à partir de GDB qu'il ne connaît pas. C'est bien parce qu'il a un gdb interface de la fenêtre de sorte que vous pouvez voir ce qui se passe et aussi interagir avec gdb directement. DDD ne peut pas être utilisé sur une session X distante dans mon environnement (un réel problème, depuis que je suis assis à un client léger quand je fais Unix dev), pour quelque raison si c'est pour moi.
KDevelop suivi typique de KDE style et exposés TOUT à l'utilisateur. Je n'ai jamais eu de chance pour le débogage non KDevelop programmes dans KDevelop.
Le Gnat Studio de Programmation (GPS) est en fait assez un bon avant la fin de GDB. Il ne se contente pas de gérer Ada projets, de sorte qu'il vaut la peine d'essayer si vous êtes dans le besoin d'un débogueur.
Vous pouvez utiliser Eclipse, mais c'est assez lourd poids et beaucoup de assaisonnée Unix personnes avec qui j'ai travaillé (moi y compris) n'est pas trop son interface, ce qui ne sera pas seulement STFU et de sortir de votre chemin. Eclipse semble aussi prendre beaucoup d'espace et de courir comme un chien.
Qt Creator semble être du bon matos. Un collègue m'a montré une façon de le configurer pour le débogage:
Cela peut sembler un peu beaucoup de travail pour le débogage d'une application que j'avais déjà compilé, mais il en vaut la peine. Le débogueur affiche les threads, les piles et les variables locales d'une manière similaire à Visual Studio et même utilise les mêmes raccourcis clavier. Il semble poignée de modèles bien, au moins std::string et std::map. Attacher les processus existants et les vidages mémoire semble être pris en charge, bien que je n'ai pas encore testé.
Gardez à l'esprit que je l'ai utilisé pour les moins de et d'heures maintenant, mais je suis impressionné jusqu'à présent.
- Je utiliser cgdb, simple et utile
- Je utiliser DDD beaucoup, et il est assez puissant une fois que vous apprenez à l'utiliser. Une chose que je voudrais dire, c'est de ne pas l'utiliser plus de X sur le WAN, car il semble faire beaucoup d'inutiles mises à jour d'écran.
Aussi, si vous n'êtes pas accouplés à GDB et ne me dérange pas de ponying un peu d'argent, alors je voudrais essayer TotalView. Il a un peu d'une courbe d'apprentissage très raide (il pourrait certainement être plus intuitif), mais c'est le meilleur C++ débogueur, j'ai jamais utilisé sur n'importe quelle plateforme et peut être étendue à l'introspection vos objets de manières personnalisée (vous permettant ainsi d'afficher une liste STL comme une liste d'objets, et non pas un tas de confusion interne de données des membres, etc.)
Découvrez l'Eclipse CDT projet. C'est un plugin pour Eclipse orientée vers le développement C/C++ et inclut une très riche en fonctionnalités de débogage de point de vue (que derrière les scènes utilise GDB). Il est disponible dans une grande variété de plates-formes.
Similaire à l'aise à l'éclipse gdb frontend est emacs frontend, étroitement lié à la emacs IDE. Si vous travaillez déjà avec emacs, vous l'aimerez:
GDB Emacs Frontend
DDD est la GNU frontend pour gdb: http://www.gnu.org/software/ddd/
J'ai essayé un couple de différentes interfaces utilisateur graphiques pour gdb et ont trouvé DDD être le meilleur d'entre eux.
Et alors que je ne peux pas commenter sur d'autres, non-gdb offres pour linux, j'ai utilisé un certain nombre d'autres débogueurs sur d'autres plates-formes.
gdb la majorité des choses que vous avez dans votre liste de souhaits. DDD met un beau front sur eux. Par exemple fil de commutation est plus simple. Définition de points d'arrêt est aussi simple que vous attendez.
Vous bénéficiez également d'une fenêtre cli dans le cas où il y a quelque chose d'obscur que vous voulez faire.
La seule caractéristique de DDD qui se distingue au-dessus de toute autre débogueur que j'ai utilisé les données "graphique". Cela vous permet d'afficher et d'organiser des structures, des objets et de la mémoire comme déplaçable boîtes. Double-cliquez sur un pointeur permettra d'ouvrir le déréférencé de données avec des liens visuels à la maison mère.
J'ai utilisé KDbg (ne fonctionne que sous KDE).
Qt Creator-sur-Linux est certainement à égalité avec Visual Studio sur Windows pour le C++ de nos jours. Je dirais même mieux sur le débogueur côté.
Il y a une IDE de ce qui manque à cette liste et qui est très efficace (je l'ai utilisé dans de nombreux projets C/C++ sans aucun problème): Netbeans.
Ce qui peut être renforcé grâce à va être limitée par les informations de débogage que g++ produit, dans une large mesure. Emacs fournit une interface de gdb qui vous permet de contrôler via la barre d'outils/menus et afficher les données dans des fenêtres séparées, ainsi que le type de gdb commandes directement. Eclipse du CDT fournit des outils similaires. J'ai entendu parler de Anjuta et Code::Blocks, mais jamais utilisé.
Comme quelqu'un de familier avec Visual Studio, j'ai regardé plusieurs open source de l'EDI pour la remplacer, et KDevelop se rapproche le plus de l'OMI pour être quelque chose que Visual C++ personne peut juste s'asseoir et commencer à l'utiliser. Lorsque vous exécutez le projet en mode de débogage, il utilise gdb mais kdevelop assez bien les poignées de toute chose, de sorte que vous n'avez pas à savoir c'est gdb; vous êtes tout simplement pas à pas ou à l'affectation de montres à des variables.
Il n'est toujours pas aussi bon que le Débogueur de Visual Studio, malheureusement.
Vous n'avez pas de mentionner si vous utilisez Windows ou UNIX.
Sur les systèmes UNIX, KDevelop est bonne, mais je utiliser KDbg, car il est facile à utiliser et vous permettra également de travailler avec des applications non développées dans KDevelop.
Eclipse est bon sur les deux plates-formes.
Sur Windows, il y a un grand paquet appelé Wascana Bureau Développeur qui est Eclipse CDT et MinGW tous emballés et préconfiguré bien pour le minimum de douleur. C'est la meilleure chose que j'ai trouvé pour le développement de GNU code sur Windows.
J'ai utilisé tous ces débogueurs et aucun d'eux n'est aussi bon que MS Dev Studio. Eclipse/Wascana est probablement le plus proche, mais il a des limites, comme vous ne pouvez pas marcher dans la Dll et il ne veut pas faire un aussi bon travail en examinant les variables.
Avez-vous déjà pris un coup d'oeil à DS-5 débogueur?
Il existe une version payante qui inclut beaucoup de fonctionnalités utiles, mais vous pouvez également utiliser Community Edition gratuitement (ce qui est également très utile, en particulier pour les systèmes embarqués).
J'ai une expérience positive avec cet outil lors du débogage d'applications Android sur le périphérique réel à l'aide d'eclipse.
La Code:Blocks C++ IDE a un graphique wrapper, avec quelques-unes des fonctionnalités que vous voulez, mais rien de comparable à la puissance de VS.
VisualGDB est une autre de Visual Studio plugin pour développer et déboguer les applications sur linux embarqué et des plates-formes.
KDevelop fonctionne assez bien.
Avez-vous essayé gdb -w avec cygwin gdb.
Il est supossed d'avoir une interface windows qui fonctionne assez bien.
Le seul problème que j'ai constaté, c'est que sur ma machine il ne fonctionne pas de cette façon jusqu'à ce que après que j'ai installé ddd. Je soupçonne que cela nécessite tcltk qui a été installé lorsque j'ai installé ddd.
Dernière version de Geany la prend en charge (uniquement sur Linux, tout de même)
Si vous êtes à la recherche pour gdb sous Visual Studio, puis vérifier WinGDB.
Dans les 15 derniers mois j'utilise un aperçu (fourni avec FC6). Il n'est pas grand, il est écrit en Tcl/Tk, mais il est simple et utile. DDD est de qualité similaire /utilitaire, mais un peu plus difficile à utiliser (divers GUI erreurs et omissions). J'ai aussi essayé d'intégrer gdb avec mon IDE, SlickEdit. Il a travaillé sur OK (j'ai joué 4 heures avec elle), mais je n'aime pas l'interface graphique des changements de contexte. J'aime mon IDE reste inchangé tandis que je suis de débogage; sur Windows j'utilise SlickEdit de l'IDE et de Débogueur Visual Studio pour le débogage. Donc, à partir de la 3: Aperçu, DDD et SlickEdit, Insight est mon 1er choix, je l'utilise >95% du temps, en ligne de commande gdb et DDD composent les autres 5%. Si j'ai l'occasion, je vais eval Eclipse à un certain point, mon PC ne semblent pas avoir assez de RAM (1 GO seulement) pour exécuter Eclipse raisonnablement bien.
J'ai également entendu beaucoup d'éloges pour TotalView, y compris du 1er coup de main lors d'un entretien d'embauche. J'ai obtenu un eval pour notre société à la fin de 2008, mais à la fin nous n'avons pas procédé comme gdb a été assez bon pour nos besoins, et, il est gratuit et omniprésente.
Utilisation http://www.zero-bugs.com/
Zéro débogueur, il exige de C++0x soutien de gcc
J'étais à la recherche d'un débogueur à l'étape par le biais de l'exécution d'un programme. Dire: Attacher. Le programme a été construit avec eclipse, mais parce que peut-être certains multithreadding obstrucles, pas de sourcefiles où friands. Ce que jamais.
Je suis très compfortable avec NetBeans.
Maintenant la fenêtre disappars et vous ne voyez rien. se détacher du processus. La Lecture Carré "Stop" aide à.
Va [fenêtre] -> [Débogage] -> votre fenêtre de rendre compfortable.