2009-08-13 112 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会话。

如果您将不受支持的体系结构错误附加到进程,请调试文件,然后附加到进程,重新使用现有会话。