Pergunta

Eu estou usando a versão Linux do dbxtool para depurar um programa de 64 bits chamado Frankie:

file ../support/frankie
../support/frankie: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped

Quando eu tentar carregar o executável dentro dbxtool, recebo uma mensagem de "arquitetura não suportado", que eu suponho que significa que a versão de dbx de 32 bits é carregada:

(dbx) debug ~/support/frankie
dbx: ~/support/frankie has unsupported architecture or file format

No entanto, se eu executar dbx partir da linha de comando, é capaz de carregar o arquivo, presumivelmente por carregar automaticamente a versão do depurador de 64 bits.

(dbx) debug ../support/frankie
Reading frankie
Reading ld-linux-x86-64.so.2
Reading libm.so.6
Reading libncurses.so.5
Reading libc.so.6
Reading libdl.so.2

Não consigo encontrar qualquer opção que forçaria dbxtool para usar a 64, mas depurador, na verdade o único que posso encontrar é um para forçar o uso do depurador de 32 bits em um ambiente de 64 bits!

alguma sugestão?

Foi útil?

Solução

Um trabalho em torno é dbxtool lançamento com o programa a ser depurado na linha de comando. por exemplo.

dbxtool buggyprogram buggyparameter

outra solução é para terminar a sessão dbx cargas que automaticamente e abrir uma nova.

Se você receber o erro arquitetura não suportado anexar a um processo, depurar um arquivo, em seguida, anexar ao processo, reutilizando a sessão existente.

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