请教内核调试问题
时间:2006-07-23
来源:互联网
内核panic。
klogd提示出问题部分地址的EPC,但没有给出出问题的函数
dump内核,得到汇编代码,查找出问题部分的EPC地址,发现是在task_action部分。
于是感觉问题在内核调度task_action,但是应该是由于用户空间程序编写不当导致的吧,因为修改过某用户程序后bug会消失及变化。
现在想加printk调试都不知道怎么样,在哪里入手好。因为是嵌入式系统的内核,也无法用其它工具来调试。
查看<LDD>第三版内核调试部分,同样给出了这样的例子,但并没有提示如何定位的问题,而只是说明了怎么样来定位有提示出错函数的方法。
对于没有给出出错的函数的内核当掉,到底应该怎么样定位好呢?
请各位指教一下。
$0 : 00000000 1000fc01 9421f080 00000000 9421f0e0 95fd6000 1000fc01 ffff00ff
$8 : 95fd7fe0 0000fc00 9421f040 94fa1ee8 00000000 fffffff8 94fa1d83 95c63c00
$16: c00f6168 9421f0e0 c00f6168 942278a0 00000001 9421f080 9421f0c0 402100ce
$24: 00000000 2ab82240 95fd6000 95fd7f40 02000000 9403c92c
Hi : 00000000
Lo : 00000c00
epc : 9403cf10 Not tainted
Status: 1000fc03
Cause : 10800008
Process ksoftirqd_CPU0 (pid: 3, stackpage=95fd6000)
Stack: 94e10800 00000000 95fd6000 95fd7f70 00000001 9421f0e0 ffffffef ffffffef
1000fc01 942278a0 9403c92c 10800400 00000001 00000000 942278a0 00000001
942278a0 00000001 00010f00 00000000 238118da 40609240 04253190 9403d494
04253190 941b6ed0 00000000 00000000 9403d3e4 00000000 94029f1c 95fd7fe0
02000000 94211a34 00989680 00000000 94029f0c 00000000 1000fc03 10800020
80fddec8 ...
Call Trace: [<9403c92c>] [<9403d494>] [<941b6ed0>] [<9403d3e4>] [<94029f1c>] [<9
4029f0c>]
Code: 3c139422 267378a0 02408021 <8e110008> 16200015 8e520000 c2030004 0074
1025 00541026
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
klogd提示出问题部分地址的EPC,但没有给出出问题的函数
dump内核,得到汇编代码,查找出问题部分的EPC地址,发现是在task_action部分。
于是感觉问题在内核调度task_action,但是应该是由于用户空间程序编写不当导致的吧,因为修改过某用户程序后bug会消失及变化。
现在想加printk调试都不知道怎么样,在哪里入手好。因为是嵌入式系统的内核,也无法用其它工具来调试。
查看<LDD>第三版内核调试部分,同样给出了这样的例子,但并没有提示如何定位的问题,而只是说明了怎么样来定位有提示出错函数的方法。
对于没有给出出错的函数的内核当掉,到底应该怎么样定位好呢?
请各位指教一下。
$0 : 00000000 1000fc01 9421f080 00000000 9421f0e0 95fd6000 1000fc01 ffff00ff
$8 : 95fd7fe0 0000fc00 9421f040 94fa1ee8 00000000 fffffff8 94fa1d83 95c63c00
$16: c00f6168 9421f0e0 c00f6168 942278a0 00000001 9421f080 9421f0c0 402100ce
$24: 00000000 2ab82240 95fd6000 95fd7f40 02000000 9403c92c
Hi : 00000000
Lo : 00000c00
epc : 9403cf10 Not tainted
Status: 1000fc03
Cause : 10800008
Process ksoftirqd_CPU0 (pid: 3, stackpage=95fd6000)
Stack: 94e10800 00000000 95fd6000 95fd7f70 00000001 9421f0e0 ffffffef ffffffef
1000fc01 942278a0 9403c92c 10800400 00000001 00000000 942278a0 00000001
942278a0 00000001 00010f00 00000000 238118da 40609240 04253190 9403d494
04253190 941b6ed0 00000000 00000000 9403d3e4 00000000 94029f1c 95fd7fe0
02000000 94211a34 00989680 00000000 94029f0c 00000000 1000fc03 10800020
80fddec8 ...
Call Trace: [<9403c92c>] [<9403d494>] [<941b6ed0>] [<9403d3e4>] [<94029f1c>] [<9
4029f0c>]
Code: 3c139422 267378a0 02408021 <8e110008> 16200015 8e520000 c2030004 0074
1025 00541026
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
作者: bluebirdyy 发布时间: 2006-07-23
通过查阅资料了解到no_content这是在中断部分出现的问题,检查软中断代码后发现原来修改的软中断处理函数错误,从而确定了出错点。
作者: bluebirdyy 发布时间: 2006-08-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28