Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 崩溃后查看内核日志_Debugging_Crash_Linux Kernel - Fatal编程技术网

Debugging 崩溃后查看内核日志

Debugging 崩溃后查看内核日志,debugging,crash,linux-kernel,Debugging,Crash,Linux Kernel,我正在调试一个系统崩溃。我收到了OOPS消息并找到了错误代码。我希望在崩溃之前我有dmesg的输出。但是,我有内核的System.map文件。如何使用它查看dmesg使用的环形缓冲区收集的最后消息 日志消息肯定会附加到RAM中的某个日志文件中。你能帮我找到创建日志文件的地址吗?或者我如何提取日志文件 ~谢谢你,阿米特 在我开发Linux设备驱动程序的经验中,我发现串行调试是必不可少的。当然,这假设您有第二个系统可用于捕获串行输出 要启用此功能,您需要做两件事: 在内核中启用SERIAL\u 8

我正在调试一个系统崩溃。我收到了OOPS消息并找到了错误代码。我希望在崩溃之前我有dmesg的输出。但是,我有内核的System.map文件。如何使用它查看dmesg使用的环形缓冲区收集的最后消息

日志消息肯定会附加到RAM中的某个日志文件中。你能帮我找到创建日志文件的地址吗?或者我如何提取日志文件

~谢谢你,阿米特

在我开发Linux设备驱动程序的经验中,我发现串行调试是必不可少的。当然,这假设您有第二个系统可用于捕获串行输出

要启用此功能,您需要做两件事:

  • 在内核中启用
    SERIAL\u 8250\u控制台
    。如果您喜欢使用
    make menuconfig
    ,可以在8250/16550和兼容串行端口上的
    设备驱动程序\-->字符设备\-->串行驱动程序\-->控制台下找到它

  • 您还需要使用以下参数引导内核,以使正常屏幕显示与串行输出一起工作
    console=tty0 console=ttys0115200

  • 将开发工作站上的串行端口连接到另一个工作站上的串行端口(我通常使用运行HyperTerm的Windows计算机)


同样,这只是我在Linux调试中发现的一个非常宝贵的选项。我希望你能很好地使用它。

这几天比找到串行电缆容易(我的两台笔记本电脑甚至没有一个串行端口),但只有在syslogd可以写入磁盘后发生崩溃时才起作用

启动、崩溃、启动livecd、读取/var/log/messages


如果这种情况发生在您使用文件系统之前,那么您也可以通过UDP使用loghost。查看syslog/syslog ng manual

您是否检查了
/var/log/messages
?是的,但它没有包含崩溃运行的日志。