原创 程序调试(除错)过程中的一些雕虫小技(十、拉闸睡觉!统一管理调试代码)

2009-9-23 11:23 3349 8 11 分类: MCU/ 嵌入式

程序调试(除错)过程中的一些雕虫小技(十、拉闸睡觉!统一管理调试代码)


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

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

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

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

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

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

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

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

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


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

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


 

文章评论3条评论)

登录后参与讨论

用户944075 2009-10-28 08:36

很不错哦 借鉴了 谢谢

程序匠人 2009-9-28 12:50

呵呵,谢谢支持

用户1584993 2009-9-24 11:21

呵呵,支持匠人,希望继续更新
相关推荐阅读
程序匠人 2011-08-19 16:42
串口调试利器——《串口猎人》V31 免费发布!
匠人按:《串口猎人》V31是继之前的V26、V29版本之后的最新升级版本。诸多细节改进不一一道来了。免费发布。 下载:串口猎人 ( Serial Hunter ) V31 setup.rar (2.7...
程序匠人 2011-06-24 11:25
匠人开发的一款串口调试工具——串口猎人 ( Serial Hunter ) V26
《串口猎人》十大功能简介: 1、基本功能,支持基本的 收、发、查看、保存、清除等功能。2、基本功能,自动/手动搜索串口,串口参数的设置和查看。3、基本功能,支持HEX/ASCII/中文汉字收发。4、高...
程序匠人 2010-07-10 20:49
招聘会花絮
招聘会花絮招聘会上常常会遇到一些让人啼笑皆非的趣闻和花絮:花絮1:应聘者:“偶是来应聘某某职位的,这是偶的简历。”匠人:“您好!请坐……”(一边接过简历一边随口问道)“哪年毕业的?”应聘者(脸不红心不...
程序匠人 2010-07-08 10:40
给我64只章鱼,我也可以通吃世界杯了
昨天谁赢了?西班牙?德国?——还是保罗?忘记那些足球专家和名宿们吧,甚至被认为是乌鸦嘴的贝利。他们的预测在章鱼保罗的面前,简直就是小儿科。经过90分钟的恶战,西班牙队1比0淘汰了章鱼保罗的祖国德国队。...
程序匠人 2010-06-28 14:11
周末,在佘山钓鱼(有图有真相)
昨天和木华去佘山钓鱼俺的个人战绩:钓出水面3条小鱼,收杆不及时脱钩1条,从水桶中又蹦出去1条……大家肯定很好奇,最后一条,匠人怎么处理的呀?呵呵 放生?or回家烧鱼汤? 鱼头烧汤鱼肚清蒸鱼尾红烧可怜,...
程序匠人 2010-05-05 20:02
通过两张趣图,看工程师的自我反省
很久没有关注其他网友的博客了,那天机缘巧合,看到两位网友分别转载的图片,很有意思。第一张图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试...
EE直播间
更多
我要评论
3
8
关闭 站长推荐上一条 /3 下一条