Pergunta

Estou tentando passar do EMACS v22.3.1 para v23.1.1 e tudo estava indo bem até que eu tentei executar o GDB usando o Gud dentro do Emacs.

Quando eu faço meta-x gdb e dou um comando de 'gdb/my/executável/aqui', a janela aparece bem, mas quando eu digito um comando no prompt gdb ao pressionar a tecla de retorno para executar o comando, nada acontece, status Bar diz 'Debugger: Run' e o resultado nunca é mostrado. Eu posso digitar 'Ctrl-C Ctrl-C' para matar o comando e obter o prompt '(GDB)' novamente, mas outro comando falha da mesma maneira.

Este é o GDB V6.8 no Linux Centos V4 32bit.

Alguém mais enfrentou esse problema? Qual é a melhor maneira de prosseguir?

Anexei -me ao GDB de um prompt (não Gud) e peguei este rastreamento de pilha:

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

Solução

Aqui está um palpite selvagem:

O modo Gud do Emacs exige que o GDB seja executado com anotações ativadas para que ele possa analisar corretamente a saída. Fui mordido por isso ao reescrever a linha padrão Emacs, depois de atingir o MX GDB. Certifique-se de que "--Annotate = 3" esteja incluído na sua linha de comando GDB e veja se isso ajuda.

Outras dicas

Eu usei o GDB no EMACS-23 ... ou pelo menos, fiquei mais longe do que você ... Quando eu tentei, a janela da pilha não atualizaria ... o que acabei fazendo foi usar o Emacs-23 Para edição (para a bondade da fonte anti-alias), mas usando o emacs-22 para depuração ... Você pode ter ambos instalados ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top