在编译linux kernel的时候会在源码根目录生成一个vmlinux文件,请将该文件复制到host机器的工作目录中(假设工作目为:/host/XXX/kernel/2.6.32/dev)。
使用gdb debug linux kernel的流程如下:
1, 首先启动target机器,按两次shit键,选择带有kgdb的kernel。如果一切正常,系统会停在kgdb等待host机器连接,如下图所示:
2,在后台执行socat,命令如下:
socat -d -d /home/serial0 pty &
“/home/serial0”是你在创建虚拟机串口的时候指定的路径;
如果该命令成功执行, 会提示如下界面:
请注意第三行的"N PTY is /dev/pts/2",在设置GDT remote的时候会用上;
3,开始调试,
$ gdb /host/XXX/kernel/2.6.32/dev/vmlinux
...一些GDB提示,省略了
(gdb) dir /host/XXX/kernel/2.6.32/source
(gdb) set remotebaud 115200
(gdb) target remote /dev/pts/2
Remote debugging using /dev/pts/2
其中dir /host/XXX/kernel/2.6.32/source用来添加GDB的source code 搜索路径,指定你成你下载下来的linux 源码路径即可。现在就可以使用break下断点了。
至此搭建kgdb 调试linux kernel环境已经完全架好,剩下来你可以自己摸索了。
阅读(957) | 评论(0) | 转发(0) |