Estou tentando automatizar uma sessão gdb usando o --command
sinalizador. Estou tentando definir um ponto de interrupção em uma função em uma biblioteca compartilhada (o equivalente Unix de uma DLL). Meu cmds.gdb é parecido com este:
set args /home/shlomi/conf/bugs/kde/font-break.txt
b IA__FcFontMatch
r
No entanto, estou recebendo o seguinte:
shlomi: ~ / progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb ... GNU gdb 6.8-2mdv2009.0 (Mandriva Linux versão 2009.0) Copyright (C) 2008 Free Software Foundation, Inc. Licença GPLv3 +: GNU GPL versão 3 ou posterior Este é um software livre: você é livre para alterá-lo e redistribuí-lo. NÃO HÁ GARANTIA, na extensão permitida por lei. Digite "show copying" e "mostrar garantia" para obter detalhes. Este GDB foi configurado como "i586-mandriva-linux-gnu" ... (nenhum símbolo de depuração encontrado) Função "IA__FcFontMatch" não definida. Tornar o ponto de interrupção pendente no futuro carregamento da biblioteca compartilhada? (y ou [n]) [respondeu N; entrada não do terminal]
Portanto, ele não define o ponto de interrupção, afinal. Como posso tornar padrão a resposta "y" para definir pontos de interrupção no carregamento futuro da biblioteca compartilhada pendente?
Lembro que fui capaz de fazer algo, mas não consigo lembrar o quê.
Respostas:
Respondendo a mim mesmo, gostaria de dar a resposta que alguém me deu no IRC:
E então definir ponto de interrupção pendente faz o truque; é usado
cmds.gdb
como, por exemplofonte
Program received signal SIGILL, Illegal instruction
. Estou obtendo pontos de interrupção de um arquivo, jáset breakpoint pending on
que alguns de meus pontos de interrupção estão em uma biblioteca que o programa carrega. Se eu adicionar pontos de interrupção manualmente, não haverá erro. Alguém mais está enfrentando um problema semelhante?OT: No terminal, seria assim para depurar o Caja em uma linha:
fonte
-ex
não funcionou para mim. Tive que colocar os comandos em um arquivo tmp e chamar com:gdb -x /tmp/gdb.commands myexecutible
Sem símbolos.
fonte