一、kgdb介绍
linux下的模块开发,不可避免要用到kgdb来调试。
kgdb的调试环境需要一台开发机,一台目标机,其中代码运行在目标机上,开发机通过串口来调试目标机上的模块代码。
用vmware可以方便的使用管道来代替真正的串口,而且只用一台笔记本就可以玩起来,非常简单粗暴。
二、编译内核支持kgdb
2.1 修改内核代码
为了解决系统的一个bug,具体见下面的错误处理。
文件:linux-2.6.32/kernel/kgdb.c
2.2 设置内核编译参数
在一台虚拟机上下载内核源码,配置如下参数:
三、设置虚拟机命名管道
3.1 克隆上面编译的虚拟机
2个虚拟机一个作为开发机,一个作为目标机。
3.2 设置2个虚拟机的命名管道
虚拟机(右键) -> 设置 -> 串行端口
开发机: