LINUX环境下编译错误 not in executable format: 不可识别的文件格式
发布网友
发布时间:2022-05-04 19:30
我来回答
共5个回答
热心网友
时间:2023-10-06 07:48
产生core文件是程序崩溃时留下的信息,如果想要查看core文件的内容,请执行GDB跟踪程序,命令如下:
gdb ./yourfile core.5245
根据你给出的命令和gdb错误提示,可以断定,你gdb命令用错了,第二个参数是你的可执行程序,比如,你的可执行程序叫DataIntegrityCheck,第3个输入项才是core文件的名字。那么整个命令应该是
cd /home/liubo/DataIntegrityCheck/bin
gdb ./DataIntegrityCheck core.5245
DataIntegrityCheck这里一定是你编译好的可执行程序,我只是举个例子而已。如果你编译没有指定,它甚至可以是a.out
你再试试吧。
core文件,改成.c是没有用的
热心网友
时间:2023-10-06 07:48
补充newopig
你要用gdb看core mp file,似乎可以用-c选项
gdb -c core.*
core mp file是程序执行中(通常是crash时)的调试信息,包括内存,寄存器等。
自己可以参考man gdb 。
热心网友
时间:2023-10-06 07:48
如果 进程是 test , 所在位置是 /tmp/bin; gdb 所在位置是 /home/shared,core mp文件与gdb同目录
则命令为:
cd /tmp/bin 进入进程执行目录
/home/shared/gdb test core.12345
加载完成后,执行 bt
此时可以查看崩溃时堆栈调用信息
我遇到这个不可识别的错误是因为 命令的格式写错了
产生core mp 文件的原因就是进程内部出错
热心网友
时间:2023-10-06 07:49
建议man一下gdb
热心网友
时间:2023-10-06 07:50
这不是编译错误吧
可能是文件的问题
把core.5245改成core.5245.c(源代码的文本格式) 或 core core.5245.txt