GDB远程调试(linux pc + target)

本文介绍了如何在本地Linux PC上利用GDB远程调试目标平台上的嵌入式程序。首先建立开发环境,通过debug工具连接PC与目标平台,配置串口终端如minicom。接着启动目标平台程序,通过gdbserver与进程PID关联,并在PC上使用emacs启动gdb,最后连接目标IP进行调试。
摘要由CSDN通过智能技术生成

嵌入式开发,一般要用到远程调试,即在本地PC上debug远程target上运行的程序。有很多target平台提供了自己专用的debug工具,我比较常用的是gdb。他的优点有很多,网上也有很详细的介绍,我在这里只介绍他比较常用的功能及使用方法。

 

1. 建立开发环境

    a. 用debug tools连接linux pc与target平台(依据平台不同而不同,我用的support card)

    b. 将target的串口与linux pc的串口相连接(跟踪target运行的log及查看target的进程等)

 

2. 设置linux pc串口终端(设置串口及波特率与target一致)

    >minicom -s

     //你的linux pc上需要安装minicom,设置需要root权限,只打开不设置可以用(minicom -o)

3. 启动target,运行要debug的程序并查看进程

    >ps -h

     //再minicom终端内输入ps -h,这需要你的target的串口有shell功能,例如sash等。

4. 启动gdbserver

    >gdbserver debug:2345 --attach xxx &

     //xxx为第三步查到的进程pid

5. 在linux pc上运行新终端,启动emacs

    >emacs&

6. 在meacs上启动gdb

    >Alt+x gdb

    >arm-linux-gdb xxx 

    //xxx为要debug的程序,位于linux pc上,如果xxx不在当前目录,前面可以指定绝对路径。

7. 在gdb状态连接远程target

    gdb>target remote IP:2345

    //IP为target的IP地址,在我的开发环境里,IP是support card 的地址。

接下来就可以用gdb对target上的程序进行debug了。

常用的debug命令,待续……

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值