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

2019-07-13 01:27发布

对于嵌入式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 5)运行gdbserver,./gdbserver 192.168.1.26  g2u(要调试的程序可执行文件) 6)在宿主机上敲入命令target remote 192.168.1.232 :2345 表示与目标机远程连接成功,现在可以像调试宿主机程序一样调试目标板的程序了。