我正在尝试使用 GDB 进行调试(以查找恼人的段错误)。当我运行时:
gdb ./filename
从命令行,我收到以下错误:
This GDB was configured as "i686-pc-linux-
gnu"..."/path/exec": not in executable
format: File format not recognized
当我执行时:
file /path/executable/
我得到以下信息:
ELF 64-bit LSB executable, AMD x86-64,
version 1 (SYSV), for GNU/Linux 2.4.0,
dynamically linked (uses shared libs), not stripped
我使用的是 GDB 6.1,可执行文件是用 gcc 版本 3.4.6 编译的。
就使用 gdb 而言,我有点不知所措,但据我所知,在这种情况下它应该可以正常工作。知道出了什么问题吗?
最佳答案
可执行文件是 64 位 (x86-64),调试器是 32 位 (i686-pc-linux) 版本。您可能需要安装 64 位 (x86-64) 版本的调试器。
关于c - gdb 无法运行带有 "File format not recognized"的 ELF 64 位程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275471/