内核调试
2015-09-12 17:18
190 查看
转载一篇文章:http://my.oschina.net/fgq611/blog/113249 linux内核调试方法总结。
1.二分法与printk()
AB之间有个bug,在AB之间找个中间点C,使用printk,查看bug在AC还是CB。以此类推。其中printk(“__func__”)
设定printk的级别,八个级别分别是从1--8,其中1基本最高,只打印系统可能崩溃的信息。我们可以使用命令
echo 8 > /proc/kernel/printk;可以打印所有的消息。
在我们的系统pnfs中可以输入:
2.syslog && dmesg
cat /var/log/message dmesg;
3.gdb调试内核。
gdb /user/src/linux/vmlinux /proc/kore.但是不能调试可加载模块。。。。只能调试内核的模块。
4.BUG(),BUG_ON()可能会引发oops,
1.二分法与printk()
AB之间有个bug,在AB之间找个中间点C,使用printk,查看bug在AC还是CB。以此类推。其中printk(“__func__”)
设定printk的级别,八个级别分别是从1--8,其中1基本最高,只打印系统可能崩溃的信息。我们可以使用命令
echo 8 > /proc/kernel/printk;可以打印所有的消息。
在我们的系统pnfs中可以输入:
2.syslog && dmesg
cat /var/log/message dmesg;
3.gdb调试内核。
gdb /user/src/linux/vmlinux /proc/kore.但是不能调试可加载模块。。。。只能调试内核的模块。
4.BUG(),BUG_ON()可能会引发oops,
相关文章推荐
- 最长递增子序列的nlog(n)算法
- 黑马程序员—Java基础—字符、随机数、包、for循环
- hibernate映射文件之<set>
- Subsets
- Subsets II
- Spark1.0.2 Standalone 模式部署
- 我创建的问题库,提问单及班级
- 烂泥:vcenter通过模板部署vm
- 重新安装了mysql,以前的数据库如何导入到新的数据库
- JAVA中使用Redis
- 关于博客访问量异常问题
- HDU---1710-Binary Tree Traversals (二叉树遍历)
- 黑马程序员 Java基础01__从HelloWorld到面向对象
- 360笔试 选镇长问题
- Android 数据存数---SQLite数据库
- Delphi pointer
- 处理Selection对象和Range对象——Word VBA中重要的两个对象
- Hibernate.cfg.xml配置文件
- POJ - 1330 Nearest Common Ancestors(LCA在线查询)
- [leetcode] Summary Ranges