[匠人手记] 程序调试(除错)过程中的一些雕虫小技(更新:2010-04-09)

[复制链接]
63797|185
madboy21 发表于 2009-9-5 23:14 | 显示全部楼层
顶顶顶~~~~~
我用的几款芯片都是8脚的。调试时通常需要找一个引脚来做人机界面
RAYINGPX 发表于 2009-9-8 23:56 | 显示全部楼层
技术在于积累,成功在于执着!!!学习!,学习!!,再学习!!!
my1693 发表于 2009-9-11 14:06 | 显示全部楼层
本人菜鸟一个,前一段时间一直在调试一个单片机的程序,如果之前看了匠人大侠的这篇**,中间肯定能少走很多弯路!顶~~~~~~~~
waytoCTO 发表于 2009-9-12 15:57 | 显示全部楼层
呵呵,剧终了吗,我刚看完,发现自已用过里面的很多方法,不过都是突发奇想!!!

支持下,技术在于积累,成功在于执着!!!
21ID 发表于 2009-9-14 21:44 | 显示全部楼层
受教了
yvhkvihc 发表于 2009-9-15 16:54 | 显示全部楼层
先占个位置:lol
wanghao123 发表于 2009-9-16 00:06 | 显示全部楼层
谢谢,受益匪浅
呵呵:lol
努力学习中~~~
叶汉明 发表于 2009-9-18 00:53 | 显示全部楼层
谢谢匠人分享经验,再次感谢。
获益良多
zyok 发表于 2009-9-18 00:56 | 显示全部楼层
留个爪印
有空再来学习...
ytmkkk1986 发表于 2009-9-19 16:17 | 显示全部楼层
role_2099 发表于 2009-9-21 14:40 | 显示全部楼层
匠人同志,确实是不能评分了,提示“不能对发表超过24小时的**评分”
口头鼓励一下吧,希望继续下去,加油
bing103 发表于 2009-9-21 16:27 | 显示全部楼层
受用了!谢谢!
 楼主| 程序匠人 发表于 2009-9-22 12:34 | 显示全部楼层
匠人按:本连载已经停顿好久了,但看到这么多人顶帖,实在感动,要么,咱再挤点牙膏出来?

十、拉闸睡觉!统一管理调试代码

前面介绍的几种方法,需要在程序中增加一些临时性的调试代码。

有些调试代码是无害的,比如只是一些延时指令,或者是在不使用的IO口上有一些输出而已。

但另一些调试代码,与正式要求的程序功能是相冲突的。那么这些代码在完成调试之后就应该被删除或屏蔽掉。

那么会不会出现意外,把本该被删除的代码漏删了?结果埋下祸害?——如果调试代码少,出错的概率比较低,只要认真仔细点还好办;但是如果程序中的调试代码写得比较多,那么确实很担心会发生这种问题。

或者另一种情况,就是前脚把调试代码删除或屏蔽掉,后脚发现还需要再调试,又要重新输入或打开那些代码?

如何管理这些代码呢?这个我们要向宿舍管理员学习了。他们是这么做的,给所有房间安装一个总电闸。到了晚上11点就把总闸一拉,看书的、打牌的、喝酒的、胡侃的、泡妞的、夜游的、Y们都给我老老实实睡觉去吧!

程序中,这样的总闸也是可以通过条件编译的方式来实现的。就像这样:

//#define TEST_MD        //调试状态标志(在调试时打开,正式烧录芯片时屏蔽)

//在编写调试代码时,采用下面的形式:
#ifdef TEST_MD                //如果是调试状态,则编译这段代码
        ……
        ……
#else                        //如果不是调试状态,则编译这段代码
        ……
        ……
#endif


一个总闸,把管理简单化了。欧耶!

(连载也许未完,也许已完,视大家的关注程度和匠人的状态而定……)

评分

参与人数 2威望 +2 收起 理由
fushaobing + 1 赞一个!
llrsnake + 1 学习了

查看全部评分

bing103 发表于 2009-9-22 14:10 | 显示全部楼层
继续顶!
zywic5 发表于 2009-9-22 16:30 | 显示全部楼层
好东西,学习中,顶,再顶
yyyyxxxxdd 发表于 2009-9-22 18:05 | 显示全部楼层
chenluck 发表于 2009-9-24 15:15 | 显示全部楼层
不懂汇编的人,写出来的C程序可以用,但不会是最优的!
只有学习汇编才能真只了解单片机的工做原理!
gszzjf 发表于 2009-9-24 21:53 | 显示全部楼层
顶 坚决顶
jqjszxd0 发表于 2009-9-27 09:31 | 显示全部楼层
来学习的经验的
281506431 发表于 2009-9-27 14:47 | 显示全部楼层
经验来源于积累,成功源自于执着!
学习中.........
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部