linux内核定位方法总结
来源:互联网 发布:网络的协议数据单元 编辑:程序博客网 时间:2024/06/13 16:25
1 CPU支持ECC的话打开ECC,并且在系统异常中断的时候打印出来,因为内存多bit ECC会导致系统异常。
MCHECK_EXCEPTION(0x200, Machine, machine_exception) =>static struct cpu_spec __initdata cpu_specs[] /* e500v2 */ .machine_check = machine_check_e500, .platform = "ppc8548", machine_check_e500 =>unsigned long reason = get_mc_reason(regs); =>if (reason & MCSR_BUS_WBERR) printk("Bus - Write Data Bus Error\n"); =>打印regs->nip//出现异常等指令地址bus有一种可能性是内存出现ECC错误,可以在这里打印内存ECC错误寄存器信息
2 内核的hung task检测;
3 内核的原子操作不能有休眠动作的检测
“BUG: sleeping function called from invalid context at ……”(might_sleep函数说明)
http://blog.csdn.net/hp0773/article/details/12658501
4 coredump。用户态异常,没有挂接私有信号处理函数,导致coredump,详见《信号处理学习心得》
注意
#ulimit -c //真相0#ulimit //假象ulimited需要修改 #ulimit -c unlimited修改后再查#ulimit -culimited调试程序,会在当前路径生成 core可以修改路径:echo /root/core_%p > /proc/sys/kernel/core_pattern生成的core在/root目录下,后缀是调试程序的进程号
5关于死锁
一次spinlock死锁故障的定位(太经典,收藏!) http://blog.csdn.net/lqxandroid2012/article/details/53581076
spin_lock浅析【转】 - 张昺华-sky - 博客园 http://www.cnblogs.com/sky-heaven/p/7121582.html =》这个人的博客有很多好文章
驱动程序的调测方法与技巧 http://blog.csdn.net/lichangc/article/details/43272457
如下文章写得挺好
linux kernel oops linux 异常分析
http://www.cnblogs.com/wahaha02/p/5363793.html
阅读全文
0 0
- linux内核定位方法总结
- linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux 内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- Linux内核调试方法总结
- [BZOJ1196][HNOI2006]公路修建问题(最小生成树)
- java StringBuilder用法
- 二维码编码与解码类库ThoughtWorks.QRCode
- splay模板
- 走入javascript(五)判断与数据类型
- linux内核定位方法总结
- 代理服务器的工作原理
- Android POST上传文件
- java写jdbc时候数据库乱码问题
- xml文档报错
- php7新特性
- 影响力-读后感
- 毕业设计、课程设计、个人相册
- Vim (二)