Question

Je suis en train de passer d'Emacs v22.3.1 à v23.1.1 et tout allait bien jusqu'à ce que j'ai essayé de courir en utilisant gdb GUD dans Emacs.

Quand je fais méta-x gdb et donner un ordre de «gdb / ma / exécutable / ici la fenêtre apparaît bien, mais quand je tape une commande à l'invite de gdb à frapper la touche retour pour exécuter la commande, rien arrive, la barre d'état dit « Debugger: run » et le résultat est jamais montré. Je peux taper « Ctrl-c ctrl-c » pour tuer la commande et obtenir le « (gdb) » invite à nouveau, mais une autre commande échoue de la même façon.

Ceci est gdb v6.8 sur 32 bits de Linux CentOS.

Quelqu'un at-il fait face à ce problème? Quelle est la meilleure façon de procéder?

J'attaché à gdb d'une invite (non GUD) et a obtenu cette trace de la pile:

#0  0x00fd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x0020108d in poll () from /lib/tls/libc.so.6
#2  0x08111a07 in gdb_do_one_event (data=0x0) at event-loop.c:759
#3  0x0810f05f in catch_errors (func=0x8111970 <gdb_do_one_event>, func_args=0x0, errstring=0x8236200 "", mask=6) at exceptions.c:513
#4  0x080c25e7 in tui_command_loop (data=0x0) at .././gdb/tui/tui-interp.c:153
#5  0x0810f2cf in current_interp_command_loop () at interps.c:276
#6  0x0807f0b3 in captured_command_loop (data=0x0) at .././gdb/main.c:99
#7  0x0810f05f in catch_errors (func=0x807f0a8 <captured_command_loop>, func_args=0x0, errstring=0x8236200 "", mask=6) at exceptions.c:513
#8  0x0807f7eb in captured_main (data=0xbff00a60) at .././gdb/main.c:882
#9  0x0810f05f in catch_errors (func=0x807f0e0 <captured_main>, func_args=0xbff00a60, errstring=0x8236200 "", mask=6) at exceptions.c:513
#10 0x08080027 in gdb_main (args=0x7fffffff) at .././gdb/main.c:891
#11 0x0807f0a1 in main (argc=-4, argv=0xfffffffc) at gdb.c:33
#12 0x00153df3 in __libc_start_main () from /lib/tls/libc.so.6
#13 0x0807efdd in _start ()
Était-ce utile?

La solution

Voici une conjecture sauvage:

GUD-mode Emacs exige que gdb soit lancé avec annotations activées afin de pouvoir analyser correctement la sortie. Je suis peu à quand la réécriture des emacs en ligne par défaut recrache après avoir frappé M-x gdb. Assurez-vous que « --annotate = 3 » est inclus dans votre ligne de commande gdb et voir si cela aide.

Autres conseils

Je l'ai utilisé gdb dans emacs-23 ... Ou du moins, je l'ai obtenu plus loin que vous ... Quand je l'ai essayé, la fenêtre de la pile ne serait pas mise à jour ... Ce que je fini par faire utilisait emacs-23 pour l'édition (pour la bonté de la police anti-crénelage), mais en utilisant emacs-22 pour le débogage ... Vous pouvez avoir tous les deux installés ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top