GDB远程调试(linux pc + target)

嵌入式开发,一般要用到远程调试,即在本地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命令,待续……

 

你可能感兴趣的:(GDB远程调试(linux pc + target))