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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部