您的位置:首页 > 其它

GDB+GDBServer安装

2015-11-21 18:39 211 查看

通过网络调试

1.编译gdb,gdbserver

xz -d gdb-7.8.2.xz

tar -xvf gdb-7.8.2.tar

vim ./gdb-7.8.2/gdb/remote.c

修改6212行附近的报错处理,改为:

if (buf_len > 2 * rsa->sizeof_g_packet) {
rsa->sizeof_g_packet = buf_len ;
for (i = 0; i < gdbarch_num_regs (gdbarch); i++) {
if (rsa->regs->pnum == -1)
continue;
if (rsa->regs->offset >= rsa->sizeof_g_packet)
rsa->regs->in_g_packet = 0;
else
rsa->regs->in_g_packet = 1;
}
}


cd ./gdb-7.8.2

./configure –target=arm-linux

make

make install(直接将gdb安装到主机)

cd ./gdb-7.8.2/gdb/gdbserver

./configure –host=arm-linux

make

cp ./gdbserver到开发板根文件系统

编译要调试的应用,编译时加上-g选项

在ARM板上

gdbserver 192.168.1.17:2345 ./test_debug

在PC上

/bin/arm-linux-gdb ./test_debug

输入:

set solib-search-path /mnt/rootfs/lib

target remote 192.168.1.30:2345

然后: 使用gdb命令来控制程序

使用coredump调试

让程序在开发板上直接运行,当它发生错误时,令它产生core dump文件

然后使用gdb根据core dump文件找到发生错误的地方

在ARM板上:

1. ulimit -c unlimited

2. 执行应用程序 : 程序出错时会在当前目录下生成名为core的文件

在PC上:

3. /bin/arm-linux-gdb ./test_debug ./core
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: