codename=$(lsb_release -cs)sudo tee /etc/apt/sources.list.d/ddebs.list << EOFdeb http://ddebs.ubuntu.com/ ${codename}main restricted universe multiversedeb http://ddebs.ubuntu.com/ ${codename}-updatesmain restricted universe multiverseEOFsudo apt-get install -y ubuntu-dbgsym-keyringsudo apt-get updatesudo apt-get install -y linux-image-$(uname -r)-dbgsym
由于我们这里的oops 是发生在ko中,而不是内核 。因此,使用faddr2line指定oops_module.ko
即可 。
?kernel git:(firefly) ? scripts/faddr2line/home/zhongyi/code/module/oops_module/oops_module.ko init_oopsdemo+0x24init_oopsdemo+0x24/0x30:init_oopsdemo at /home/zhongyi/code/module/oops_module/oops_module.c:18
如果oops发生在内核中,将oops_module.ko 换成对应的vmlinux即可 。
最后,贴下oops_module.c的源代码,感兴趣的大家可以自己写一个分析下 。
#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("BSD/GPL");MODULE_AUTHOR("ZHONGYI");staticint init_oopsdemo(void){printk("oops module init! \n");*((int*)0x00) = 0x19760817;return 0;}module_init(init_oopsdemo);staticvoid cleanup_oopsdemo(void){printk("oops module exit! \n");}module_exit(cleanup_oopsdemo);MODULE_LICENSE("GPL");
本文参考https://www.cnblogs.com/wwang/archive/2010/11/14/1876735.html
https://www.cnblogs.com/wsg1100/p/16609905.html
https://blog.csdn.net/W1107101310/article/details/80611880
https://zhuanlan.zhihu.com/p/557455268
https://www.jianshu.com/p/53b7cabbf483http://events.jianshu.io/p/e20ee313af0e
https://www.cnblogs.com/wanglouxiaozi/p/14813475.html
https://blog.csdn.net/qq_44710568/article/details/105413270
经验总结扩展阅读
- 青年如何弘扬爱国奋斗精神 成长青春追中国梦的句子简短
- 原神缀叶成章如何完成
- 珐琅锅如何开锅
- 原著知否王老夫人结局如何?
- 蛤蜊当天不吃如何保存
- iphone如何设置自定义铃声(苹果修改自定义手机铃声)
- 如何加微信好友(微信加好友的痕迹查找)
- win7烟雾头怎么调最清楚2021(win7如何调烟雾)
- 大暑如何健脾养胃
- 微信如何添加自己好友(找回添加好友记录)