2-Linux_kernel_OOPS

5 篇文章 0 订阅
3 篇文章 0 订阅

1.当kernel出现故障与错误时,kernel会发出oops。

oops输出的错误信息包含两部分,

  • 寄存器中保存的信息;
  • 可供追踪的回溯线索。

通过此可以找出问题发现部位。

2.kallsyms特性

该特性存放中kernel中相应函数地址的符号名称,透过此,kernel可以输出解码好的跟踪线索

CONFIG_KALLSYMS => 启用kallsyms特性

CONFIG_KALLSYMS_ALL => 表示在在内存中不仅存放了函数名称,而且还存放了符号名。

3.kernel调试

CONFIG_DEBUG_KERNEL => 用于开启kernel调试

CONFIG_PRINTK_TIME=y => 用于开启kernel的timestamp

a.BUG()与BUG_ON()

​ 调用时kernel会发出oops

b.panic()

​ 调用时会打印错误信息,同时还会挂起整个系统。使用同printk()

c.dump_stack()

​ 调用时会打印栈的回溯信息。

d.current指针()

​ 利用current指针可以获取当前进程的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值