我有一个二进制文件的 Linux Core Dump 文件(显然在执行过程中崩溃了)
file
核心转储上的命令:
core.123: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/home/user/a.out'
我也有二进制文件a.out
。
如何使用此信息更详细地分析崩溃?
我使用以下命令使用 GDB 加载核心:
gdb -c core
我可以使用bt
命令查看堆栈的回溯。我可以看到程序崩溃的原因是:SIGTRAP
Core was generated by `/home/user/a.out'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 0x0000000000400566 in ?? ()
(gdb) bt
#0 0x0000000000400566 in ?? ()
#1 0x00007ffff7a3b1bb in ?? ()
#2 0x0000000000000000 in ?? ()
(gdb) x/i 0x0000000000400566
=> 0x400566: retq
但是,我想获得有关崩溃根本原因的更多详细信息。
IDA Pro 是否支持分析核心转储文件?如果我有原始二进制文件,我可以做些什么来详细调试它吗?
在这种情况下,我更喜欢带有远程调试支持的 IDA Pro。但是,如果有一种方法可以在这里有效地使用 GDB,那也没关系。