- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oops信息及栈回溯Oops信息及栈回溯
Oops 信息及栈回溯 (2011-10-25 10:16)
标签: 信息 分类: linux
1. Oops 信息来源及格式
Oops 这个单词含义为“惊讶”,当内核出错时(比如访问非法地址)打印出来的信息被称为Oops 信息。
Oops 信息包含以下几部分内容:
(1)一段文本描述信息。
比如类似“Unable to handle kernel NULL pointer dereference at virtual address的信息,他说明
了发生的是哪类错误。
(2 )Oops 信息的序号。
比如是第几次等。这些信息与下面类似,括号内的数据表示序号。
1. Internal error: Oops: 806 [#1]
(3 )内核中加载的模块名称,也可能没有,以下面字样开头。
1. Modules linked in:
(4 )发生错误的CPU 的序号,对于单处理器系统,序号为0,如:
1. CPU: 0 Not tainted (2.6.22.6 #36)
(5 )发生错误时CPU 的各个寄存器值。
(6 )当前进程的名字及进程ID,比如:
1. Process swapper (pid : 1, stack limit = 0xc0480258)
这并不是说发生错误的是这个进程,而是表示发生错误时,当前进程是它。错误可能发生在内核代码、
驱动程序,也可能就是这个进程的错误。
(7 )栈信息。
(8 )栈回溯信息,可以从中看出函数调用关系,形式如下:
1. Backtrace:
2. [c001a6f4] (s3c2410fb_probe+0x0/0x560) from [c01bf4e8] (platform_drv_probe+0x20/0x24)
3.
(9 )出错指令附近的指令机器码,比如(出错指令在小括号内):
1. Code: e24cb004 e24dd010 e59f34e0 e3a07000 (e5873000)
2. 配置内核使Oops 信息的栈回溯信息更直观
Linux 2.26.32 自身具备的调试功能,可以使打印出的Oops 信息更直观。通过Oops 信息中PC 寄存器
的值可以知道出错指令的地址,通过栈回溯信息可以知道出错时的函数调用关系,根据这两点可以很
快定位错误。
要让内核出错时能够打印栈回溯信息,编译内核时要增加“-fno-omit-frame-pointer选项,这可以通过
配置CONFIG_FRAME_POINTER 来实现。查看内核目录下的配置文件.config,确保
CONFIG_FRAME_POINTER 已经被定义,如果没有,执行“make menuconfig”命令重新配置内核。
CONFIG_FRAME_POINTER 有可能被其他配置项目自动选上。
3 使用Oops 信息调试内核的实例
(1)获得Oops 信息
本小节故意修改 LCD 驱动程序 drivers/video/s3c2410fb.c,加入错误代码:在 s3c2410fb_
probe 函数的开头增加下面两条代码:
1. int *ptest = NULL;
2. *ptest = 0x1234;
重新编译内核,启动后会出错并打印出如下 Oops 信息:
1. Unable to handle kernel NULL pointer dereference at virtual address
2. pgd = c0004000
3. *pgd
4. Internal error: Oops: 805 [#1]
5. last sysfs file:
6. Modules linked in:
7. CPU: 0 Not tainted (2.6.32 #24)
8. PC is at s3c2410fb_probe+0xc/0x18
9. LR is at platform_drv_probe+0x18/0x1c
10. pc : [c0018f78] lr : [c01d3f88] psr : a0000013
11. sp : c3823f30 ip : c3842e7c f
您可能关注的文档
- LOGO 提案稿(3款)LOGO 提案稿(3款).ppt
- LOL小学新学期开学,提莫弃商从文LOL小学新学期开学,提莫弃商从文.pdf
- lost in Thailand看泰lost in Thailand看泰.ppt
- lol策划书lol策划书.doc
- logo修改意见logo修改意见.doc
- Lp-PLA2基线水平与支架置入术后再狭窄的风险增加关系-8月Lp-PLA2基线水平与支架置入术后再狭窄的风险增加关系-8月.pdf
- LP-TS200 说明书LP-TS200 说明书.pdf
- LPG混空气作为天然气紧急备用气源的可行性LPG混空气作为天然气紧急备用气源的可行性.doc
- LS55操作说明书荧光-磷光-发光分光光度计中文培训手册LS55操作说明书荧光-磷光-发光分光光度计中文培训手册.pdf
- LTE-SAE网络结构LTE-SAE网络结构.pdf
文档评论(0)