调试U-BOOT----让GDB更好地调试

本文介绍了作者在U-Boot调试过程中遇到的问题及解决方案。通过调整GCC优化选项为-O0,解决了GDB调试时光标跳跃及变量跟踪困难的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     好久没有更新blog了。今天有空就上来更新吧。

    最近又拿起u-boot来调,虽然说之前移植、调试成功,但是那个苦啊,GDB的光标跳来跳去,而且变量根本无法跟踪,只能靠猜,或者用串口output出来。考虑了一下,应该是编译的时候使用了优化选项,所以只要把GCC的优化选项去掉,或者选择不优化,就可以顺利进行调试了。不讲太多,动手吧!

    在uboot根目录打开config.mk文件,找到下面这行

  1. OPTFLAGS= -Os #-fomit-frame-pointer

这行就是优化选项,把-Os改成-O0

  1. OPTFLAGS= -O0 #-fomit-frame-pointer

接着重新编译,生成u-boot文件,使用arm-linux-gdb进行调试,

  1. arm-linux-gdb u-boot

或者

  1. arm-linux-gdbtui u-boot

即可进入调试模式,现在光标不再跳来跳去,而且观察变量也方便了。哈哈~~~~

 

PS:下一步,如果使用Eclipse对项目进行管理。包括编辑、生成、调试一条龙,真正集成开发。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值