处理内核出错信息

本文介绍了Linux内核中两种主要的错误处理机制:oops和panic。oops提供了详细的系统错误信息,包括栈回溯和寄存器状态。通过ksymoops工具可以解析oops信息并映射到内核符号。此外,通过内核kallsyms选项可以直接跟踪函数名。

当系统出现错误时,内核有两个基本的错误处理机制:oops和panic。

 

1.oops

(1)oops消息包含系统错误的详细信息

通常oops信息中包含当前进程的栈回溯和CPU寄存器的内容。ksymoops工具可以将机器指令转换为代码并将堆栈值映射到内核符号。

 

(2)使用ksymoops转换oops信息

ksymoops工具可以翻译oops信息,从而分析发生错误的指令,并显示一个跟踪部分表明代码如何被调用。它是根据内核映像的System.map来转换的,因此,必须提供正在运行的内核映像的System.map文件。

 

(3)内核kallsyms选项支持

通过定义CONFIG_KALLSYMS配置选项启动。该选项可以载入内核映像对应内存地址的符号的名称 ,内核可以直接跟踪回溯函数名称,而且不再打印难懂的机器码了。这样就不要System.map和ksymoops工具了。因为符号表要编译到内核映像中,所以内核映像会变大,并且符号表永久驻留在内存中。

 

2.panics

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值