uclinux使用gdb和gdbserver远程调试

转载 2007年09月30日 20:37:00

 Use gdbserver and gdb - remote debugging

 

  • target端要build gdbserver,host端要有cross version 的gdb,我用arm-elf-gdb和uClinux附的gdb server。 
  • build program时,compile option要加上-g选项,加入debug information。
  • build时,要build出两个file : target execution和for debug。
    target debug的可以strip symbol,也可以不strip。for debug的不能strip。 也不能用elf2flt转为flat format。要维持elf format。
  • target上run gdbserver,同时指定host端的ip: port number,还有要load的程式:
     #gdbserver 10.3.5.123:2345 testprog 
    process testprog created; pid = 130
    Listening on port 2345

    如果testprog有argument ,直接写在test prog后面,例如:

    #gdbserver 10.3.5.123:2345 testprog -o -v 123
  • host端启动arm-elf-gdb,并且load测试程式的symbol (.gdb)
     (gdb)arm-elf-gdb testprog.gdb 
  • 在host端,指定target作remote debugging..
     (gdb) target remote 10.3.5.123:2345 
    Remote debugging using 10.3.5.123:2345
    0x93880050 in _start( )
  • OK,双方连线完成,可以开始由arm-elf-gdb控制target的动作了(作debug)。

因为gdb的source listing是以"行数"为参数,所以最好再用vi开启debug的source code,同时用

:set nu :set nu
将line numner on,这样就可以看到source code的line number了。
这时候,用vi浏览到要设定break-point的地方,看看行数是多少,再在gdb下b linenumber命令设定段点: 
 (gdb) b 1302 ---在1302行设断点 

接著用 c (continue) command 继续执行
 (gdb) c (gdb) c 

到达break point时,他会自动停下来。

用step执行一行指令,

用next执行到下一行。

用clear清除breakpoint。

用list列出目前code的source code。

用q结束。

另外,如果有X的化,可以用gdb的图形介面- ddd。

用ddd作remote , cross-platform debug时,要指定debugger 

  #ddd --debugger arm-elf-gdb testprogram.gdb &

会开启ddd gui。 画面下方式debug command ,上面是source list。

一样,在debug command下target command

 (gdb)targe remote 10.3.123:2345

 

GDB 远程调试Linux (CentOS)

1.引用: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/注意安装gdbserv...
  • norsd
  • norsd
  • 2016年06月07日 15:30
  • 3036

在uClinux下利用GDB进行调试

环境:Blackfin uClinux(版本:buildroot-2012R1-RC6-BF60X) Linux主机:ubuntu 10.04.4 可以通过串口和网络两种方式进行调试,以下...
  • skywalker_leo
  • skywalker_leo
  • 2013年02月28日 15:39
  • 1225

gdb+gdbserver远程调试技术

首先声明,原创只是jiand
  • styyzxjq2009
  • styyzxjq2009
  • 2014年06月26日 16:41
  • 5950

gdbserver 远程调试问题:设置文件和so搜索路径

编写一个必然crash 的程序
  • span76
  • span76
  • 2014年06月17日 12:33
  • 2443

IDA + GDBServer实现iPhone程序远程调试

在早期的IDA中包含了一个iphoneserver的程序,这个程序就是配合IDA实现远程调试的。但是在最新版的IDA中这个东西已经不复存在了,因而下载的破解版的IDA中没有那个文件并不是被删除掉了,而...
  • eqera
  • eqera
  • 2014年02月05日 00:26
  • 4814

arm-linux-gdb+gdbserver环境搭建以及远程调试

  • 2013年12月14日 22:03
  • 27KB
  • 下载

使用gdb、gdbserver在ARM-Linux下进行远程调试

一、下载gdb-6.4.tar.gz源代码 http://ftp.gnu.org/gnu/gdb/ 二、编译 GDB 2.1、编译arm-linux-gdb #tar zxvf gdb-6.4...
  • heanyu
  • heanyu
  • 2011年03月24日 21:17
  • 1803

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

下载gdb-6.8.tar.bz2 http://ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/ 一.编译安装gdb luther@glietht...
  • u011308691
  • u011308691
  • 2013年12月30日 21:28
  • 1618

gdb+gdbserver远程调试技术(二)解决segmentation-fault

gdb gdbserver 远程调试技术 segmentation-fault
  • zhaoxd200808501
  • zhaoxd200808501
  • 2017年10月23日 16:05
  • 119

arm-linux-gdb+gdbserver环境搭建以及远程调试

0) gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 1) 编译arm-linux-gdb     指定交叉编译工具链的位置     export PATH=$PATH:...
  • AIZHIQING86
  • AIZHIQING86
  • 2013年09月16日 12:08
  • 630
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uclinux使用gdb和gdbserver远程调试
举报原因:
原因补充:

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