2009-08-13 108 views
0

我使用的Linux版本dbxtool的調試64位程序叫做羊羊: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) debug ~/support/frankie 
dbx: ~/support/frankie has unsupported architecture or file format 

但是,如果我從命令行運行dbx中,它能夠通過自動加載調試器的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 

我無法找到,這將迫使dbxtool使用64,但調試器的任何選項,事實上是唯一一個我能找到的是一個給力的64位環境中使用32位調試器!

有什麼建議嗎?

回答

0

解決方法是啓動dbxtool,並在命令行上調試該程序。 例如

dbxtool buggyprogram buggyparameter 

另一個解決方法是終止自動加載並打開新dbx會話的dbx會話。

如果您將不受支持的體系結構錯誤附加到進程,請調試文件,然後附加到進程,重新使用現有會話。