(gdb) bt
#0 0xc0199470 in ?? ()
我可以对该文件执行“strings core”命令,但我的理解是我只能获取到可执行文件中的所有字符串,因此似乎很难在其中跟踪任何内容。
我有一个带有-g选项编译的可调式版本的可执行文件,但是它比发布版本晚了几个月。如果我尝试使用该核心启动gdb,我会看到以下内容:
warning: exec file is newer than core file.
Core was generated by `program_name'.
Program terminated with signal 11, Segmentation fault.
__dld_list is not valid according to __dld_flags.
#0 0xc0199470 in ?? ()
(gdb) bt
#0 0xc0199470 in ?? ()
虽然编译一个调试版本并部署到客户现场等待另一次崩溃是可行的,但出于多种原因,这将相对困难且不可取。
我对代码非常熟悉,并根据客户的错误报告相对了解其在代码中崩溃的位置。
是否有任何方式可以从此核心转储中获取更多信息?通过字符串或其他调试器或任何东西?谢谢。