KGDB调试汇总
KGDB调试汇总
通过KGDB,可以在内核代码中设置断点,单步调试和观察变量;为了使用KGDB,需要有两个系统,一个称为开发机,一个称为目标机,被调试的内核运行于目标机上,同时开发机与目标机不要求有相关的体系结构,两者通过串口连接。
目的:在某嵌入式设备中使用kgdb对内核的调试
gdb+gdbserver用来调试用户程序
gdb+kgdb用来调试内核
如何共用串口
1)在PC机安装Cgwin,通过读写/dev/ttyS0即可与某嵌入式设备共用同一个串口,此时需要将secureCRT的连接断开;
2)在PC机上安装虚拟机,如virtual box上将串口设置成host device,即可与主机共享串口,连接的时候亦需要将secureCRT的连接断开。
在一端输入cat /dev/ttyS0,在另一端echo “字符串”>/dev/ttyS0,如何cat中显示此字符串,表明串口通信成功。
内核选项
-->打开-g选项

-->打开kgdb选项


在cgwin中编译gdb
$ tar -zxvf gdb-7.6.tar.gz
$./configure--target=mips-linux--prefix=/home/lym/bin
$make
$make install
编译成功后如下:

在目标机上动态启动KGDB
1)通过输入echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc注册通过ttyS0进行数据传输;
2)输入echo g > /proc/sysrq-trigger动态启动KGDB。
在开发机上远程连接目标机
1)输入set remotebaud 115200设置对端波特率为115200;
2)输入target remote /dev/ttyS0通过串口连接到对端。
通过设置set debug remote 1,可以查看发送和接收的报文。
问题1
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
