176 votes

Débuggez-vous du code C++ dans Vim ? Comment ?

La question s'adresse à tous ceux qui utilisent Vim pour développer des applications C++.

Il y a eu une période de ma vie, qui peut être décrite comme étant "Je déteste Vim !!!" "Vim est sympa !

Cependant, ayant grandi principalement avec des IDE de développement Microsoft, je me suis habitué à ces outils. F5 - F11 des raccourcis pour le débogage du code, la fenêtre de surveillance, la pile d'appels et le code principal - tous visibles sans avoir à taper de commandes GDB.

Donc, voici la question :

Utilisez-vous également Vim pour le débogage ? Ou utilisez-vous un autre IDE à cette fin ? Lequel ?

Pour ceux qui utilisent Vim pour déboguer du code : existe-t-il des plugins pour définir des points d'arrêt dans l'éditeur, mettre en évidence la ligne en cours de débogage, la navigation automatique pendant l'étape, l'étape suivante, l'étape suivante ?

S'il vous plaît, ne me dites pas que vous utilisez GDB comme ligne de commande, que vous ne voyez qu'une seule ligne qui est déboguée, etc.

1 votes

Je suis sûr que vous pouvez encore trouver des gens qui développent et déboguent avec "ed".

64 votes

Oh mon dieu, ils répondent aux questions "déboguer mon code C++ plz", mais à peu près este comme trop localisé... ridicule !

23 votes

Essayez gdb -tui .

80voto

UncleZeiv Points 9033

Contrairement aux autres réponses, il existe au moins trois options qui répondent exactement à vos besoins : Clewn , pyclewn y vimgdb .

Ces trois projets sont liés. vimgdb est un patch contre Vim et nécessite une recompilation de Vim. Clewn est un programme autonome qui communique avec Vim via l'interface socket de Netbeans. Cela nécessite que Vim soit construit avec l'option +netbeans (c'est le cas dans les distributions Linux récentes, donc cela ne devrait pas poser de problème).

Pour citer le site web de la Clewn :

Clewn implémente le support complet de gdb dans l'éditeur vim : points d'arrêt, variables de surveillance, complétion de commande gdb, assemblage Windows, etc.

Je pense que tu devrais vraiment essayer.

La page d'accueil du site web pyclewn présente une comparaison entre les trois projets.

Il y a quelques mois, j'ai essayé le pyclewn. Il a été un peu difficile à mettre en place, mais il semble bien conçu et prometteur. J'ai juste fait quelques tests et vous pouviez définir des signets, etc., les trucs habituels que l'on attend d'un débogueur graphique. J'ai fini par ne pas l'utiliser pour des raisons de contingence, mais je suis impatient de lui donner un autre essai.

6 votes

Conque GDB est une alternative intéressante. Facile à installer, simple et très puissante.

0 votes

@UncleZeiv vimgdb est périmé. J'ai exprimé le besoin d'une mise à jour ici : github.com/larrupingpig/vimgdb-for-vim7.4/issues/4

0 votes

@Druesukker, votre réponse mérite une réponse formelle !

16voto

Johan Points 6127

Vim est un bon éditeur, mais pour faire du débogage, j'utilise un débogueur (comme GDB).

Mais vous n'êtes pas obligé d'utiliser GDB en mode texte ; vous pouvez utiliser un frontal graphique comme KDbg , DDD o Aperçu .

Il existe des moyens d'intégrer GDB à Vim (mais vous obtenez alors un débogage en mode texte).

4voto

nobar Points 5849

L'utilisation d'un débogueur au niveau de la source n'est qu'une des nombreuses façons de diagnostiquer le comportement défectueux d'un programme, et je me retrouve rarement à en lancer un - malgré le fait que ce soit très facile à faire.

Donc pour moi, il n'y a simplement aucun avantage inhérent à utiliser un éditeur de texte qui se trouve être également un débogueur. . Au lieu de cela, j'utilise l'éditeur de texte que je préfère - indépendamment du débogueur que je choisis d'utiliser. Pour l'instant, j'utilise principalement gedit y kdbg à ces fins, mais ces choix évoluent indépendamment dans le temps.

1 votes

Sauf si vous développez à distance sur un hôte de développement sans kde/gnome.

1voto

Shawn D. Points 1881

Ayant récemment travaillé sur une application pour un bout de temps que nécessaire un tas de trucs à être mis en place sur la boîte, il a été en cours d'exécution (appareil), j'ai écrit le code dans vim, avait scripts automatisés du bâtiment, et de les pousser à un serveur, qui avait un script là pour avis de la sentinelle fichier poussé le long de avec les fichiers binaires. Ce serait alors redémarrer les services appropriés sur la zone, et dans une autre fenêtre ssh, j'ai eu un tail -f en cours d'exécution sur mon fichier de log.

Longue histoire courte, je ne l'ai pas utiliser un débogueur. Si j'avais quelque chose de mort de façon inattendue, que je venais de remonter les niveaux d'enregistrement, de la refaire, et de voir quelle était la dernière chose enregistré avant sa mort, puis d'analyser et de résoudre le problème.

La bonne chose est que lorsque quelque chose a eu des problèmes dans l'environnement d'un client, je venais de demander un niveau de Débogage journal et pourrait identifier le problème sans même demander l'accès à leur serveur.

... mais oui, il y avait des moments où il aurait été agréable d'avoir un débogueur.

0voto

Nemanja Trifunovic Points 17239

J'utilise vim + ctags + taglist pour écrire et parcourir du code sur les systèmes Windows et *nix. Pour autant que je sache, il n'existe aucun moyen d'utiliser un débogueur à partir de vim, j'utilise donc des débogueurs externes (VS, windbg, gdb...).

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