我正在使用 dbxtool 的 Linux 版本来调试一个名为 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 位调试器!
有什么建议么?