2009-09-30 9 views
7

Sto provando a passare da Emacs v22.3.1 a v23.1.1 e tutto andava bene finché non ho provato a eseguire gdb usando gud all'interno di Emacs.Utilizzo di gdb in Emacs 23

Quando eseguo meta-x gdb e do un comando di 'gdb/my/executable/here' la finestra si presenta bene, ma quando digito un comando al prompt gdb quando si preme il tasto return per eseguire il comando, non succede nulla, la barra di stato dice "Debugger: run" e il risultato non viene mai mostrato. Posso digitare 'ctrl-c ctrl-c' per uccidere il comando e ottenere di nuovo il prompt '(gdb)', ma un altro comando fallisce allo stesso modo.

Questo è gdb v6.8 su Linux Centos v4 a 32 bit.

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

ho attaccato al 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() 

risposta

11

Ecco un ipotesi: GUD-mode

di Emacs richiede che gdb viene eseguito con annotazioni accesi in modo che possa analizzare correttamente l'output. Sono stato un po 'da questo quando ho riscritto la riga di default emacs sputa dopo aver colpito Md x gdb. Assicurati che "--annotate = 3" sia incluso nella riga di comando di gdb e vedi se questo aiuta.

+0

Sì, --annotate = 3 è lì per impostazione predefinita. – WilliamKF

+2

Uso gdb in emacs-23.1 senza problemi. Cosa succede se usi la modalità testo invece della modalità grafica usando M-x gud-gdb? Assicurati di non rimuovere l'opzione --fullname dalla riga di comando gdb. – Nate

+0

Utilizzando M-x gud-gdb funziona perfettamente. – WilliamKF

1

Ho usato gdb in emacs-23 ... O almeno, sono diventato più lontano di te ... Quando ho provato, la finestra dello stack non si aggiornava ... Quello che ho finito per fare era usando emacs-23 per la modifica (per la bontà dei caratteri anti-alias), ma usando emacs-22 per il debug ... È possibile avere entrambi installati ...

+0

Sì, questo è quello che sto facendo (eseguendo entrambi) ma speravo di averne solo uno in esecuzione, poiché è più efficiente avere un sistema unificato invece di essere diviso tra due istanze eseguibili di emacs. – WilliamKF

Problemi correlati