Como depurar um binário Linux remoto?
-
22-07-2019 - |
Pergunta
Aqui está a situação:
Eu tenho um binário Linux que está falhando. Não há arquivos de log, arquivos de rastreamento, etc. Eu preciso ser capaz de anexar um depurador a ele (eu tenho a fonte localmente) e rastrear o erro.
O que é o, melhor maneira mais fácil de abordar este problema?
Solução
A depuração remota é bastante simples: na plataforma de destino, inicie o aplicativo com gdbserver, enquanto especifica o host ea porta de escuta para uma conexão TCP de entrada:
gdbserver HOST:PORT PROG [ARGS ...]
Na estação de trabalho de desenvolvimento, o lançamento do GDB cross-alvo:
powerpc-7450-linux-gnu-gdb PROG
Certifique-se de especificar o executável não despojado. No console do GDB, digite:
target remote HOST:PORT
break main
continue
Outras dicas
Parece suportes GDB remoto depuração.
Eu nunca usei, mas http://davis.lbl.gov/ manuais / GDB / gdb_17.html parece um começo.
Basicamente você executar o programa sob gdbserver na máquina de destino, e liga GDB (mais de TCP ou de série) para o gdbserver.