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