Вопрос

Я пытаюсь перейти от EMACS V22.3.1 на V23.1.1, и все шло хорошо, пока я не попытался запустить GDB, используя GUD внутри EMACS.

Когда я выполняю Meta-x GDB и даю команду «GDB/My/Executive/здесь», окно подходит нормально, но когда я ввожу команду в приглашении GDB при нажатии кнопки возврата, чтобы выполнить команду, ничего не происходит, статус Бар говорит «отладчик: запустить», и результат никогда не показан. Я могу ввести «Ctrl-C Ctrl-C», чтобы убить команду и снова получить подсказку «(GDB)», но другая команда просто терпит неудачу так же.

Это GDB V6.8 на Linux Centos V4 32Bit.

Кто -нибудь еще столкнулся с этой проблемой? Как лучше всего продолжить?

Я прикрепился к GDB из подсказки (не ГУД) и получил этот след с помощью стека:

#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 ()
Это было полезно?

Решение

Вот дикое предположение:

GUD-режим EMACS требует, чтобы GDB работал с включенными аннотациями, чтобы он мог правильно проанализировать вывод. Я был укушен этим, когда переписывал линию по умолчанию, выплюнув EMACS после удара MX GDB. Убедитесь, что «-ananotate = 3» включена в вашу командную строку GDB и посмотрите, поможет ли это.

Другие советы

Я использовал GDB в EMACS-23 ... или, по крайней мере, я получил дальше, чем вы ... когда я попробовал, окно стека не обновилось ... то, что я сделал, использовал Emacs-23 Для редактирования (для борьбы с анти-ализированными шрифтами), но используя EMACS-22 для отладки ... вы можете установить оба ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top