gdb远程调试arm+linux上的应用程序

对于嵌入式linux应用程序开发调试一般采用gdb+gdbserver的形式。具体步骤罗列如下:

1)首先查看安装在你linux上的arm-linux-gdb的版本,然后在http://ftp.gnu.org/gnu/gdb/上下载对应的gdb。如果arm-linux-gdb和gdbserver的版本不一致,在连接调试的时候会出现像如下信息

Malformed packet(b) (missing colon): ore:0;
Packet: 'T050b:00000000;0d:804ebdbe;0f:b0070040;thread:2f8;core:0;'

2)交叉编译gdbserver,进入./gdb/gdbserver目录,执行如下命令./configure --host=arm-linux --prefix=/home/gdb,make,make install。用nfs将/home/gdb/bin/gdbserver拷贝到目标板。

3)运行arm-linux-gdb可能会出现像

gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory

gdb: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

解决方法ln -s /usr/lib/libexpat.so /usr/lib/libexpat.so.1ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5。更加具体的解决方法请参考:http://blog.chinaunix.net/uid-26212859-id-3256667.html

4)运行arm-linux-gdb

gdb远程调试arm+linux上的应用程序_第1张图片

5)运行gdbserver,./gdbserver 192.168.1.26  g2u(要调试的程序可执行文件)

6)在宿主机上敲入命令target remote 192.168.1.232 :2345

表示与目标机远程连接成功,现在可以像调试宿主机程序一样调试目标板的程序了。


你可能感兴趣的:(嵌入式系统设计)