dbxtool在64位linux上不会加载64位版本的dbx?

时间:2009-08-13 10:41:52

标签: linux 64-bit debugging dbx sunstudio

我正在使用Linux版本的dbxtool来调试一个名为frankie的64位程序:

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中加载可执行文件时,我收到“不支持的体系结构”消息,我认为这意味着加载了32位版本的dbx:

(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位调试器的选项!

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

解决方法是使用要在命令行上调试的程序启动dbxtool。 e.g。

dbxtool buggyprogram buggyparameter

另一种解决方法是终止自动加载并打开新的dbx会话。

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