2009-08-13 4 views
0

내가 64 비트 프로그램이라고 프랭키을 디버깅 dbxtool의 리눅스 버전을 사용하고 있습니다 :64 비트 Linux에서 dbxtool은 64 비트 버전의 dbx를로드하지 않습니다.

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 

내가 dbxtool 내에서 실행 파일을로드 할 때, 나는 수단을 가정에 "지원되지 않는 구조"메시지를 얻을 DBX의 32 비트 버전이로드되었는지 : 나는 명령 줄에서 DBX를 실행하는 경우

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

그러나, 자동으로 디버거의 64 비트 버전을로드하여 아마도 파일을로드 할 수 있습니다.

(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 

내가 64 만 디버거를 사용하는 dbxtool을 강제하는 어떤 옵션을 찾을 수없는, 사실 내가 찾을 수있는 유일한 사람은 64 비트 환경에서 32 비트 디버거의 사용을 강제하는 하나입니다!

제안 사항?

답변

0

해결 방법은 dbxtool을 명령 줄에서 디버깅 할 프로그램과 함께 시작하는 것입니다. 예 :

dbxtool buggyprogram buggyparameter 

또 다른 해결 방법은 자동으로 새로운 것을로드하고 열기위한 dbx 세션을 종료하는 것입니다.

프로세스에 첨부 된 지원되지 않는 아키텍처 오류가 발생하면 파일을 디버깅 한 다음 프로세스에 연결하여 기존 세션을 재사용하십시오.

관련 문제