设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 介绍两种调试程序的方法
 日期:2005-6-21 22:07:56  来源:100down.com
大家在调试一个程序时,有时候可能这个程序很长,多到成百上千行的代码,如果你的程序写的又零乱不堪,到了这种时候通常都不知道自己写了些什么,有些人还比较懒,像我,连个注释都不写,但是我从来没有被我的程序搞晕过,一般来说,不管你的程序是不是面向对像的开发模式,在局部的程序代码里,你的程序还是结构式的,如果你没有把一个模块分成几个小模块去做,而是几百行甚至上千行的代码全在一个模块里,那么一但出了问题,你恐怕哭都来不及,你不得不整天整天的找bug,就算你的程序运行上没有问题,而在设计上却有漏洞什么的。。。。你找起来一定很累,还有分析别人的代码很累吧,要是人家连个注释都没给你留,那你是不是很痛苦??以至于程序员都不愿意看别人写的代码。。。。。等等地,现在我就介绍大家两种调试程序的方法,这些方法最适用于分析模块代码,可以将一段没有任何注释的代码轻松的解析出来它的用途,好了先为大家介绍第一种:
一,流程编号
程序的主体就是流程控制,把流程搞清楚了,整个程序就看懂了,方法其实简单:如果你的ide开发工具有对某行做标记并且还可以编号的功能自然就方便很多,如果没有就把源程序copy到记事本上,然后开始给控制流程编号,例如:
1 for(a=1,a++,,)
{
2 if(a=10)
{
......
2 }
1 }
3 if(a=11)
{
printf("程序执行有问题")
3 }

在上面的例子中,编号的规则是:当见到第一个流程控制就在它的开始处加一个号,然后接着往下找,找到一个流程控制就判断一下它是旧流程结束还是新流程开始的,如果是旧流程的结束就再标记上这个流程在开始处的标号,如果脑子里乱了,不知道是多少了,就向上找直到找到目前最大的标号(但是已经被其它结束语句占有的不能算数),其实,你只要看到标号开始呈下趋势,那么你现在找到的最大标号就是这个结束语句的标号了------该流程的标号!!还有,每个流程的标号都是按顺序依次递增,越是里层的流程,标号就最大,最外层的标号最小。在标号的同时你还可以留意一下,你最初的标号是否已经标出了结束语句,如果是的话,你就应该检查一下,这个结束语句是不是有很明显的错误,如:我的给最初的标号是一,也就是第一层结构的标号是1,但是当我标到某个结束语句为1时却发现下一行还剩着一个"}"这就很明显不对了,这时有两点原因,一,你标号标错了,二,程序中多了一个结束语句,这时你就要好好检查一下了,找出错误了就开始继续做标号,直到标完,标完了以后,你就可以开始分析这个程序了,只要是在两个相同标号这间的,都是一个小模块,你把每个模块的大体用途都分析出来(加上注释),然后再再把这些模块的用途放到一起就可以一眼看出来整个程序比较详细的动作流程和它所能完成的任务,还可以在注释中很直观的看出来这个程序中所存在的问题(前后矛盾,参数不存在,数据类型不符。。。。。。。。。等等,都很容易能看到)
二,简化流程
当你的一个比较复杂的程序,程序中有大但的流程控制,一层套一层,看得你眼花廖乱,恨不得把电脑砸了!!!~~~ :( 唉哪能呢,砸了电脑我玩儿什么呀???不过你实在气不过了,你索性把程序删它几百行,哈哈是不是很过瘾呢,不过给大家一个忠告,别忘了先备份呀,省得你又后悔~~~~~,方法是这样的:先把你弄不懂的地方从最里边的流程开始删,由里向外一层一层的删除,每删一层就看看找到程序出错的问题了吗???没有??继续!!!直到删到最外层,基本上是差不多了,这种方法就是可以把程序中那些看不懂的地方复杂的地方一步一步的简化,直到问题清晰可见!!!!

相关文章

·关闭窗口时保存数据的办法
·用正则解析图片地址,并利用XMLHT
·实现搜索结果的关键词变色标注的
·关于处理GET方式提交的含有特殊字
·ASP判断Cookies是否处于开启状态
·NextRecordset 和 GetRows 双簧合
·ASP自动生成编号的方法
·Filter与updatebatch混合使用实现
·asp中利用数组实现数据库记录的批
·asp中通过getrows实现数据库记录


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作