Frage

Ich versuche, von EMACS V22.3.1 nach V23.1.1 zu wechseln, und alles lief gut, bis ich versuchte, GDB mit GUD in EMACs zu betreiben.

Wenn ich Meta-X-GDB mache und einen Befehl über 'gdb/my/ausführbare Datei/hier' gebe. Das Fenster kommt gut auf Bar sagt 'Debugger: Run' und das Ergebnis wird nie gezeigt. Ich kann 'Strg-C Strg-C' eingeben, um den Befehl zu töten und die Eingabeaufforderung '(gdb)' erneut zu erhalten, aber ein anderer Befehl schlägt einfach auf die gleiche Weise fehl.

Dies ist GDB V6.8 unter Linux Centos V4 32bit.

Hat noch jemand mit diesem Problem konfrontiert? Was ist der beste Weg, um fortzufahren?

Ich habe von einer Eingabeaufforderung (nicht GUD) an GDB angeschlossen und habe diese Stapelspur bekommen:

#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 ()
War es hilfreich?

Lösung

Hier ist eine wilde Vermutung:

Der Gud-Modus von EMACS erfordert, dass GDB mit Anmerkungen ausgeführt wird, damit er die Ausgabe richtig analysieren kann. Ich habe davon gebissen, als die Standard -Line -EMACS nach dem Treffer von MX GDB umgeschrieben wurde. Stellen Sie sicher, dass "-annotate = 3" in Ihrer GDB-Befehlszeile enthalten ist, und prüfen Sie, ob dies hilft.

Andere Tipps

Ich habe GDB in EMACS-23 verwendet ... oder zumindest bin ich weiter gekommen als Sie ... Als ich es ausprobiert habe, würde das Stapelfenster nicht aktualisiert ... Was ich am Ende tat, war, EMACS-23 zu verwenden Zur Bearbeitung (für die anti-aliased-Schriftart Güte), aber mit EMACS-22 zum Debuggen ... können Sie beide installiert haben ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top