gdb远程调试的一些技巧

作者:帅得不敢出门   c++哈哈堂:31843264  

板子:helper2416  大家应该都知道,调试远程程序可以用gdbserver, 

1 .生成可调试程序

比如一个源文件:main.cpp

交叉编译生成test 加-g生成调试信息.

arm-linux-gcc main.cpp -g -o test 

千万不要strip,否则调试信息就不存在了.


2. gdbserver调试

假设板子IP为192.168.0.19,   pc ip为192.168.0.108

板子上: 

gdbserver 192.168.0.108:2345 ./test

 pc上:

 gdbx86 ./test

gdbx86得自行编译gdb源码生成针对arm平台的程序, This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux". 网上可查

连接gdbserver(怎么编译生成它网上有文章)

target remote 192.168.0.19:2345

然后就可以 下断点了, 然后 c 程序开始跑.


1,2两点估计做嵌入式开发的都知道, 3则可能有些人没有遇到过

3  调试远程开发板产生的core 

板子上使能core dump

ulimit -c unlimited

然后跑程序 

./test

如果程序产生core , 不用gdbserver, 直接把core挎到pc上, 然后用上面提到的gdbx86调试它,

gdbx86 ./test  core  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值