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

请从头开始告诉我。


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

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

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

在GDB中输入帮助将给您一个提示符,使您可以看到其他命令。


使用GDB调试coredump的步骤:

一些通用的帮助:

启动gdb,没有调试文件

GDB程序开始调试程序

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

帮助描述命令行选项

First of all, find the directory where the corefile is generated. Then use ls -ltr command in the directory to find the latest generated corefile. To load the corefile use gdb binary path of corefile This will load the corefile. Then you can get the information using the bt command. For a detailed backtrace use bt full. To print the variables, use print variable-name or p variable-name To get any help on GDB, use the help option or use apropos search-topic Use frame frame-number to go to the desired frame number. Use up n and down n commands to select frame n frames up and select frame n frames down respectively. To stop GDB, use quit or q.