核心转储文件分析

在分析核心转储文件时,我需要检查的所有事情是什么?

请从头开始告诉我。

726785 次浏览

您只需要一个二进制文件(包含调试符号),它与生成核心转储文件的二进制文件相同。然后你可以运行gdb path/to/the/binary path/to/the/core/dump/file来调试它。

当它启动时,你可以使用bt(用于反向跟踪)来获得崩溃时间的堆栈跟踪。在反向跟踪中,每个函数调用都有一个编号。你可以使用frame number(用堆栈跟踪中相应的数字替换数量)来选择一个特定的堆栈帧。

然后你可以使用list来查看函数周围的代码,使用info locals来查看局部变量。你也可以使用print name_of_variable(用变量名替换"name_of_variable")来查看它的值。

在GDB中输入help会给你一个提示符,让你看到额外的命令。

使用GDB调试coredump的步骤:

一些通用的帮助:

广东发展银行启动GDB,没有调试文件

广东发展银行项目开始调试程序

GDB程序核心调试coredump程序生成的核心

gdb——帮助描述命令行选项

  1. 首先,找到生成corefile的目录。

  2. 然后在该目录下使用ls -ltr命令找到最新生成的corefile。

  3. 加载corefile使用

    gdb binary path of corefile
    

    这将加载corefile

  4. 然后你可以使用bt命令获取信息。

    详细的回溯可以使用bt full < / p >

  5. 要打印变量,使用print variable-namep variable-name

  6. 要在GDB上获得任何帮助,请使用help选项或使用apropos search-topic

  7. 使用frame frame-number转到所需的帧号。

  8. 使用up ndown n命令分别选择第n帧向上和第n帧向下。

  9. 要停止GDB,使用quitq