核心转储文件分析
在分析核心转储文件时,我需要检查哪些内容? 请从头开始告诉我。
你只需要一个二进制文件(包括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-name
或p variable-name
6-获得任何关于gdb的help
使用help
选项或使用apropos search-topic
7-使用frame frame-number
去所需的帧号码。
8-使用up n
和down n
命令分别select第n帧和第n帧。
9-要停止gdb,请使用quit
或q
。