gdb远程调试环境的搭建 基于mini2440

准备:
宿主机必须安装有arm交叉编译工具,即宿主机可以编译目标机的运用程序;
目标机单板和宿主主机之间连接好串口线或网线或WIFI;
编译程序,记得gcc加上-g选项;
可执行程序主机和单板各存一份;

1.下载gdb源码包:
http://ftp.gnu.org/gnu/gdb/


解压:tar xzvf gdb-6.6.tar.gz

cd gdb-6.6

mkdir -p armgdb/build

2.然后编译宿主gdb:(一般是你的编译服务器或者虚拟机服务器)

cd armgdb/build

执行:~/gdb-tool/gdb-6.6/./configure --target=arm-linux --disable-werror --prefix=/home/ltz/gdb-tool/gdb-6.6/armgdb
(注意为了防止编译出错一定要加上 --disable-werror)

make (注意是在armgdb/build目录编译)

make install

此时gdb-6.6/armgdb/bin里面生成arm-linux-gdb arm-linux-gdbtui  arm-linux-run

3.编译目标机arm-linux-gdbserver

cd gdb-6.6/gdb/gdbserver

./configure --host=arm-linux --target=arm-linux --prefix=/home/ltz/gdb-tool/gdb-6.6/armgdb/gdbserver/

make 
make install

然后在gdb-6.6/armgdb/gdbserver/bin里面能看到 arm-linux-gdbserver,再将arm-linux-gdbserver修改为gdbserver,添加可执行权限chmod u+x gdbserver

把该文件下载到目标机/lib目录下,与相关联的lib库一起,运行时可避免找不到相关联的库导致错误。


4.目标机执行:
./gdbserver 192.168.1.230:9000 ./xxxxfile(需要调试的文件)
(注意192.168.1.230为目标机的IP,9000端口号可以随便设置只要不冲突就行)


5.宿主机执行:
./arm-linux-gdb xxxxfile(需要调试的文件)

(gdb)target remote 192.168.1.230:9000

即可进行调试

调试或运行时报找不到文件libc.so.6 ld-linux.so.3等,报错
则:ltz@ltz-pc:/usr/local$ find ./ -name "libc.so.6"
./opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/sys-root/lib/libc.so.6  (缺失库所在的文件路径)
把缺失的lib路径加上如下:

 (gdb)set solib-search-path /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/sys-root/lib/

(gdb) set solib-absolute-prefix /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/sys-root/lib/

gdb调试常用命令和方法:https://blog.csdn.net/awm_kar98/article/details/82840811

《完》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值