内核驱动出错,崩溃了,要怎么找出错的位置

如题所述

内核编译完成会有vmlinux文件生成,但是如果GDB调试相关的选项没有选中,就没有办法使用GDB找到出错位置
输入命令:gdb vmlinux; l *(0xc042fbd4) 完成后,报错:No symbol table is loaded. Use the "file" command
原因是编译时Makefile没有加上-g选项,需要使能内核支持gdb调试
内核里只需要打开两个选项
Kernel hacking --->
Kernel debugging
Compile the kernel with debug info
没有打开这两个选项,编译生成的vmlinux会比较小,在几M的范围内;打开这两个选项后,vmlinux可达到上百M。具体大小由平台、内核版本决定。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜