环境:
Linux kernel 3.10.0
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
问题:
内核运行过程中打印“unable to handle kernel NULL pointer dereference at XXX”,然后打印出一堆内核调用栈,如图,这时应该怎么定位问题呢?很简单,步骤如下。
解决方法:
1.找到内核编译代码下的vmlinux文件;
2.gdb vmlinux;
3.输入l *(ipv6fragrcv+0x39),即红线框中内容,根据输出即可找到问题点。
注意:
内核编译时打开debug开关,如:
CONFIG_DEBUG_KERNEL=Y;
CONFIG_DEBUG_INFO=Y
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。