内核崩溃后获取Linux内核debugging信息

内核chrash发生后有没有办法获得内核先前的debugging信息?

我试图开发一个内核模块,它基本上捕获内核networking堆栈内的IP层的IP数据包,经过一些修改后,我必须将相同的数据包发送回NIC进行传输。 在所有这些过程中,即时通讯在printk()的帮助下编写debugging信息。 但如果出现任何问题,内核发生故障,我们必须重新启动系统。 那么有什么办法让我以前的debugging信息,因为在重新启动debugging信息不​​存在,因为我试图通过dmesg命令得到它。

Solutions Collecting From Web of "内核崩溃后获取Linux内核debugging信息"

实际上/ var / log / dmesg文件包含当前引导打印消息日志。 /var/log/kern.log文件包含您以前在ubuntu中的引导内核打印消息日志。 在其他的Linux版本中,它将包含在Fedora的/ var / log / messages文件中。

内核日志消息可以在/var/log/dmesg文件中查看,即使系统重新启动后也是如此。

dmesg.X会有这么多的文件,这些文件是以前的内核日志。 dmesg是最新的文件。

dmesg和/var/log/kern.log之间的区别

您可以尝试通过键盘或串行控制台输入魔法SysRq按键序列与挂起的系统进行交互。

最近的Linux版本支持崩溃转储 。 成功时,这些将包括完整的内存转储,包括内核日志消息和堆栈跟踪。

实际上,崩溃信息(dmesg)出现在位置/ var / crash /中。 在这里,我们有每个系统崩溃的文件夹。 文件夹名称,如127.0.0.1-日期时间。 vmcore-dmesg.txt存在于文件夹中。 从这些文件中,我们得到了在崩溃之前执行的dmesg。