Использование GDB в Emacs 23
Я пытаюсь перейти с Emacs v22.3.1 на v23.1.1, и все шло хорошо, пока я не попытался запустить gdb, используя gud, внутри Emacs.
Когда я выполняю meta-x gdb и даю команду 'gdb /my/executetable/here', окно появляется нормально, но когда я набираю команду в приглашении gdb при нажатии клавиши возврата для выполнения команды, ничего не происходит, состояние bar говорит "Debugger: run" и результат никогда не отображается. Я могу набрать 'ctrl-c ctrl-c', чтобы убить команду и снова получить приглашение '(gdb)', но другая команда просто терпит неудачу таким же образом.
Это gdb v6.8 в Linux Centos v4 32bit.
Кто-нибудь еще сталкивался с этой проблемой? Каков наилучший способ продолжить?
Я подключился к gdb из командной строки (не gud) и получил следующую трассировку стека:
#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 ()
2 ответа
Вот дикая догадка:
В gma-режиме Emacs требуется, чтобы gdb запускался с включенными аннотациями, чтобы он мог правильно проанализировать вывод. Я был немного потрясен, когда переписывал строку по умолчанию, которую выплевывает emacs после нажатия Mx GDB. Убедитесь, что "--annotate=3" включено в командную строку GDB, и посмотрите, поможет ли это.
Я использовал GDB в Emacs-23... Или, по крайней мере, я продвинулся дальше, чем вы... Когда я попробовал это, окно стека не обновилось... То, что я в конечном итоге сделал, использовало Emacs-23 для редактирования (для совершенства сглаженного шрифта), но с использованием emacs-22 для отладки... Вы можете установить оба...