当前位置:  开发笔记 > 运维 > 正文

gdb无法运行"文件格式无法识别"的ELF 64位程序

如何解决《gdb无法运行"文件格式无法识别"的ELF64位程序》经验,为你挑选了2个好方法。

我正在尝试使用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方面,我有点失水,但据我所知,它应该在这个实例中工作.有什么想法会出错吗?



1> ConcernedOfT..:

可执行文件是64位(x86-64),调试器是32位(i686-pc-linux)版本.您可能需要安装64位(x86-64)版本的调试器.



2> quinmars..:

我不确定这是不是你的问题,但我经常遇到这种情况.构建树中的可执行文件,由make/automake构建,不是二进制文件,而是脚本,因此您不能使用gdb.尝试安装应用程序并更改目录,因为否则gdb会尝试调试脚本.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有