FreeBSD 崩溃转储与社区贡献指南
1. FreeBSD 崩溃转储处理
1.1 崩溃转储基本流程
当 FreeBSD 系统发生崩溃时,系统会运行crashinfo(8)从转储中收集信息,清除交换空间中的转储,然后继续重启。此时,你将获得一个可用于调试的内核核心文件。savecore(8)会自动将内核转储文件放置在/var/crash目录下,每个崩溃转储文件名为vmcore加上一个句点和编号,例如第一次崩溃的文件是vmcore.0,第二次是vmcore.1,依此类推。FreeBSD 默认保留最近的 10 个崩溃转储文件,vmcore.last文件始终指向最近的崩溃转储。
如果/var分区空间不足以容纳转储文件,可以在rc.conf中使用dumpdir变量指定不同的目录,示例如下:
dumpdir="/usr/crash"1.2 崩溃转储信息收集
FreeBSD 默认会对每个恢复的崩溃转储运行crashinfo(8)程序。该程序会运行一系列调试脚本,从崩溃信息中收集数据,并将其存储在一个方便的文本文件core.txt.0中。这