2867|2

492

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【helper2416】第二弹 helper2416开发板GDB远程调试的总结技巧 [复制链接]

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  


最新回复

写得不错,终于有越来越多的人用GDB,非常好! 说明一下,我提供的编译器里已经自带GDB了,其实大多数编译器都会自带GDB,我编译器里的gdb全称是arm-linux-gdb,我提供的文件系统也包含了gdbserver,直接运行就可以了。   详情 回复 发表于 2014-8-5 09:45
点赞 关注

回复
举报

175

帖子

3

TA的资源

一粒金砂(中级)

沙发
 
写的不错。
写的更详细一点就更好了
 
 

回复

554

帖子

0

TA的资源

版主

板凳
 
写得不错,终于有越来越多的人用GDB,非常好!
说明一下,我提供的编译器里已经自带GDB了,其实大多数编译器都会自带GDB,我编译器里的gdb全称是arm-linux-gdb,我提供的文件系统也包含了gdbserver,直接运行就可以了。

 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表