2009-11-29 4 views
3

Je travaille actuellement avec NS-2 (Un simulateur de réseau) et je voulais utiliser l'option tui de gdb de sorte que je puisse voir le code du cours pendant le débogage. (Tout comme Visual studio)Utilisation de l'option tui de GDB

A partir de maintenant, la fenêtre source est vide lorsque je lance "gdb -tui". Cependant, je peux voir le fichier quand je fais une "liste" dans gdb, mais je ne suis pas capable de le faire aller automatiquement au fichier et pointer vers l'emplacement de la pause.

Toutes les idées comment faire ceci?

+0

Avez-vous essayé le mode gdb dans emacs? –

Répondre

1

Même si je ne suis pas sûr de l'interface utilisateur de GDB, si vous êtes familier avec vi alors assurez-vous de vérifier CGDB. Il s'agit d'une interface TUI vers GDB utilisant des raccourcis clavier de type vi.

Pour définir un point d'arrêt dans la CGDB, appuyez simplement sur escape (évidement), naviguez jusqu'à la ligne que vous voulez interrompre, puis appuyez sur la barre d'espace!

7

Avez-vous essayé la combinaison Ctrl-X A? Il indique à gdb d'entrer/quitter le mode TUI.

+0

Mais voir http://sourceware.org/bugzilla/show_bug.cgi?id=15163 qui est un amusement gotcha pour le vi-inclined. –

1

Vous pouvez toujours vérifier que le fichier elf contient les données correctes. Disons que vous cassez votre programme à un endroit donné, et vous y trouverez des informations sur le pc (compteur de programme). Cette valeur peut être vérifiée avec addr2line (dans binutils) afin que vous ayez un fichier source correct.

4

Exécutez votre exécutable avec gdb comme:

$gdb -tui ./executable_name 

Le code source apparaîtra dès que vous exécutez la commande gdb: "run" sur le terminal gdb.

Il serait préférable que vous mettiez un point d'arrêt sur une ligne (par exemple: sur la fonction), puis exécutez "run": Le code source serait visible maintenant.