核心转储文件分析

在分析核心转储文件时,我需要检查哪些内容? 请从头开始告诉我。

你只需要一个二进制文件(包括debugging符号),它与生成内核的一样。 然后你可以运行gdb path/to/the/binary path/to/the/core来debugging它。

启动时,可以使用bt (用于回溯)从崩溃时间获取堆栈跟踪。 在回溯中,每个函数调用都被赋予一个数字。 您可以使用frame number (用堆栈跟踪中的对应号码replace号码 )来select特定的堆栈帧。 然后你可以使用list来查看该函数的代码,而info locals可以查看局部variables。 您也可以使用print name_of_variable (用variables名称replace“name_of_variable”)来查看它的值。

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

使用gdbdebuggingcoredump的步骤:

一些通用的帮助:

gdb启动GDB,没有debugging文件

gdb程序开始debugging程序

gdb程序核心debuggingcoredump核心程序

gdb –help描述命令行选项

1-首先find生成核心文件的目录。

2-然后在目录中使用ls -ltr命令查找最新生成的corefile。

3-加载corefile使用

corefile的gdb二进制文件path

这将加载核心文件。

4-然后你可以使用bt命令获取信息。 详细的backtrace使用bt full

5-要打印variables,请使用print variable-namep variable-name

6-获得任何关于gdb的help使用help选项或使用apropos search-topic

7-使用frame frame-number去所需的帧号码。

8-使用up ndown n命令分别select第n帧和第n帧。

9-要停止gdb,请使用quitq