Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94637
  • 博文数量: 153
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 882
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-12 10:39
个人简介

不积小流,无以成江海。

文章分类

全部博文(153)

文章存档

2023年(50)

2022年(90)

我的朋友

分类: LINUX

2023-01-05 09:28:27

 kernel 3.10内核源码分析--BUG_ON流程
原文地址:
http://
t.zoukankan.com/ztguang-p-12645265.html


一、问题
在dmesg或messages中常见BUG_ON的相关打印,如:
------------[ cut here ]------------
kernel BUG at ...
也常见其它的异常打印,比如page_fault相关的,softlockup相关的,有时候不太好区分它们之间的差别,但区分它们却是否重要,直接关系着对问题本质的判断。
这里简单分析了一下BUG_ON在3.10 kernel代码中的实现。

二、基本原理
BUG_ON通过BUG宏实现。BUG{BANNED}最佳终是通过执行ud2汇编指令实现。ud2指令看起来有点陌生,大概就是undefine的意思,是一种让CPU产生invalid opcode异常的软件指令,此时会有相应的异常事件上报,内核捕获相应的异常,由预先注册的异常处理接口进行处理:打印相关错误信息,{BANNED}最佳终根据配置进行kdump或panic或停止当前进程。

阅读(474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~