GDB+GDBServer安装

原创 2015年11月21日 18:39:21

通过网络调试

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选项

  1. 在ARM板上
    gdbserver 192.168.1.17:2345 ./test_debug
  2. 在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

版权声明:本文为博主原创文章,未经博主允许不得转载。

编译安装gdb+insight和gdbserver远程调试

下载gdb-6.8.tar.bz2 http://ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/ 一.编译安装gdb luther@glietht...

gdb和gdbserver的安装和使用

一、    远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上 层应用的监控和调试功能。调试stub是嵌...
  • hpwzd
  • hpwzd
  • 2012年06月10日 10:32
  • 452

gdb和gdbserver的安装和使用

一、    远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上 层应用的监控和调试功能。调试stub是嵌...

android6.0适用gdb/gdbserver以及linker

  • 2017年11月30日 10:49
  • 6.27MB
  • 下载

gdb和gdbserver调试android应用与可执行

学习android5.0以后的ART虚拟机,看了看源码,比较头疼,决定通过动态调试的方式去学习。 Art虚拟机有一个dex2oat的可执行程序。就想到了通过gdb和gdbserver来debug这个d...

gdb+gdbserver教程

  • 2015年07月11日 14:47
  • 451KB
  • 下载

gdb+gdbserver远程调试技术

首先声明,原创只是jiand
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GDB+GDBServer安装
举报原因:
原因补充:

(最多只允许输入30个字)