dbxtool在64位Linux将不会加载DBX的64位版本?
题
我利用Linux版本dbxtool的调试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内加载可执行文件,我得到一个“不支持架构”的消息,这是我假定意味着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位调试器!
任何建议?
解决方案
一个解决办法是启动dbxtool与在命令行上被调试的程序。 e.g。
dbxtool buggyprogram buggyparameter
另一个解决办法是终止自动加载dbx会话,并打开一个新的。
如果你不支持的架构错误连接到一个过程,调试文件,然后附加到这个过程中,重用现有的会话。
不隶属于 StackOverflow