kgdb
最近在玩kgdb
似乎人们对于kgdb的热情不高
现在sf.net上cvs里的kgdb只能打在2.6.17内核上
目前的龙芯用的是2.6.18.1,好在要改动的地方不是很多,也不难
kgdb管理补丁用的是quilt,稍微看看man就明白了,用起来很方便
其实vanilla 2.6.18.1里也有一个kgdb选项,但实际上似乎是不能用的,连个断点都设置不了
之前我编的内核有两个问题,一个是网络传输速度慢,scp的时候经常断,如果用debian,速度恒定保持在2.x
M/s,一个是字符界面在显示器上显示不出,显示器报告超出范围,debian里正常。我之前用的是从dev.lemote.com里checkout出来的内核代码里面自带的配置文件,稍做了改动。后来我用了debian的/proc/config.gz,就好了。可是我对比两个config也没看出有什么差异可以导致这两个问题。目前还是一个谜。
最后玩kgdb光靠串口来控制还是不行,现在continue之后,gdb里显示到free多少多少memory之后,就没有任何信息了,但是在显示器上可以看到实际上已经成功启动了。
kgdb真的很爽,如果想让目标机器的内核停止运行,并等待被开发机器上的gdb连接和控制,只需要在开发机器上执行
echo -e "\003" > /dev/ttyS1
似乎人们对于kgdb的热情不高
现在sf.net上cvs里的kgdb只能打在2.6.17内核上
目前的龙芯用的是2.6.18.1,好在要改动的地方不是很多,也不难
kgdb管理补丁用的是quilt,稍微看看man就明白了,用起来很方便
其实vanilla 2.6.18.1里也有一个kgdb选项,但实际上似乎是不能用的,连个断点都设置不了
之前我编的内核有两个问题,一个是网络传输速度慢,scp的时候经常断,如果用debian,速度恒定保持在2.x
M/s,一个是字符界面在显示器上显示不出,显示器报告超出范围,debian里正常。我之前用的是从dev.lemote.com里checkout出来的内核代码里面自带的配置文件,稍做了改动。后来我用了debian的/proc/config.gz,就好了。可是我对比两个config也没看出有什么差异可以导致这两个问题。目前还是一个谜。
最后玩kgdb光靠串口来控制还是不行,现在continue之后,gdb里显示到free多少多少memory之后,就没有任何信息了,但是在显示器上可以看到实际上已经成功启动了。
kgdb真的很爽,如果想让目标机器的内核停止运行,并等待被开发机器上的gdb连接和控制,只需要在开发机器上执行
echo -e "\003" > /dev/ttyS1
Comments