Domanda

Sto cercando di passare da Emacs v22.3.1 a v23.1.1 e tutto stava andando bene fino a quando ho provato a correre gdb utilizzando gud all'interno di Emacs.

Quando faccio meta-x gdb e dare un comando di 'gdb / mio / eseguibile / qui' la finestra viene su bene, ma quando si digita un comando al prompt di gdb su di colpire tasto invio per eseguire il comando, niente accade, barra di stato dice 'Debugger: run' ed il risultato non viene mai mostrata. Posso digitare 'ctrl-c ctrl-c' di uccidere il comando e ottenere il '(gdb)' ancora pronta, ma solo un altro comando non riesce allo stesso modo.

Questa è gdb v6.8 su Linux Centos v4 32bit.

Qualcun altro ha affrontato questo problema? Qual è il modo migliore di procedere?

Ho attaccato a gdb da un prompt (non GUD) e ottenuto questo stack trace:

#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 ()
È stato utile?

Soluzione

Ecco un ipotesi:

GUD-mode di Emacs richiede che gdb viene eseguito con le annotazioni accesi in modo che possa correttamente analizzare l'output. Sono stato poco a questo quando riscrivendo le emacs linea predefinite sputa fuori dopo aver colpito M-x gdb. Assicurarsi che "--annotate = 3" è incluso sulla linea di comando gdb e vedere se questo aiuta.

Altri suggerimenti

Ho usato gdb in emacs-23 ... O almeno, ho ottenuto più lontano di quanto ... Quando l'ho provato, la finestra dello stack non aggiornare ... Quello che ho finito per fare stava usando emacs-23 per la modifica (per il tipo di carattere bontà anti-aliasing), ma usando emacs-22 per il debug ... Si può avere sia installato ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top