Pregunta

Estoy tratando de moverme de Emacs V22.3.1 a V23.1.1 y todo iba bien hasta que intenté ejecutar GDB usando GUD dentro de Emacs.

Cuando hago GDB Meta-X y le doy un comando de 'GDB/My/My Ejecutable/aquí', la ventana sale bien, pero cuando escribo un comando en la solicitud GDB al presionar la tecla de retorno para ejecutar el comando, nada sucede, estado Bar dice 'Debugger: Run' y el resultado nunca se muestra. Puedo escribir 'CTRL-C Ctrl-C' para matar el comando y obtener la solicitud '(GDB)' nuevamente, pero otro comando simplemente falla de la misma manera.

Este es GDB V6.8 en Linux Centos V4 32bit.

¿Alguien más ha enfrentado este problema? ¿Cuál es la mejor manera de proceder?

Me adjunté a GDB desde un aviso (no GUD) y obtuve este rastro de pila:

#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 ()
¿Fue útil?

Solución

Aquí hay una suposición salvaje:

El modo GUD de Emacs requiere que GDB se ejecute con anotaciones activadas para que pueda analizar correctamente la salida. He estado mordido por esto al reescribir la línea de línea predeterminada, escupe después de golpear MX GDB. Asegúrese de que "--annotate = 3" esté incluido en su línea de comando GDB y vea si eso ayuda.

Otros consejos

He usado GDB en Emacs-23 ... o al menos, me he ido más lejos que tú ... Cuando lo probé, la ventana de la pila no se actualizó ... lo que terminé haciendo fue usar emacs-23 para editar (para la bondad de fuentes anti-alias), pero con el uso de emacs-22 para la depuración ... puede haber instalado ambos ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top