C语言代码调试方法总结(二)

逐个击破法:

        代码很长,问题无法定位?都不知道问题在哪里,怎么修改?最笨但是最为有效的方法就是逐个击破法!

        嵌入式软件开发中,总是遇到程序跑飞的情况,导致这一现象的原因可能有很多种,这种问题是真的让人头大。实在没有办法,或者没有任何头绪的时候,就可以使用逐个击破法。程序运行在某一个地方跑飞,很有可能并不是因为这一行的问题,而是这一行前面存在的bug影响到了这一行代码的执行。比如说:前面的代码配置某个寄存器,将地址配错了,但是如果不使用该地址,错误也就不会暴露,而一旦操作,就会发生不可预知的问题。这个时候,就可以通过注释前面代码中的各个函数,让程序在改行处正常跑起来,然后慢慢放开一个个注释,直到某一个注释放开之后,程序又跑飞,就基本可以定位程序跑飞的原因就在该函数中。该函数中的各个子函数,也可以使用同样的方法,统一注释,逐个放开,进一步缩小问题范围。就这么一层层拨开这个令人想哭的洋葱!逐个击破法,用着很舒服!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值