VC6程序的基本调试方法剖析
13页1、VC6VC6 程序的基本调试方法程序的基本调试方法 目目 录录 3 严谨思维,调试程序严谨思维,调试程序1 3.1 什么时候需要对程序进行调试.1 3.2 对程序进行调试的基本手段和方法.1 (1)观察了解程序的“病症”表现1 (2)弄清程序的主要工作流程1 (3)进行大致的检查,确定问题存在的模块3 (4)检查故障模块,确定问题并解决3 3.3 对程序进行调试的基本手段.4 (1)设置固定断点或临时断点4 (2)单步执行程序4 (3)使用断言5 (4)与调试相关的操作菜单:Build菜单.6 (5)与调试相关的操作菜单:Debug菜单.6 3.4 对一个简单程序的调试过程.7 3.5 设计合适的程序调试方案.8 3.6 优秀程序员的基本素质丰富的想象、严谨的思维.10 (1)程序运行结果看起来对了,但并不意味着程序没有隐藏的问题10 (2)严谨思维的典范程序员学习的榜样11 1 1 3 3 严谨思维,调试程序严谨思维,调试程序 所谓程序调试,是指当程序的工作情况(运行结果)与设计的要求不一致通常是程序 的运行结果不对时,科学地(而不是凭偶然的运气)通过一定的方法、使用一定的手段来检查
2、 程序中存在的设计问题(某种逻辑错误而不是语法、链接错误,修正语法、链接错误不是调 试程序要做的事)。 3.13.1 什么时候需要对程序进行调试什么时候需要对程序进行调试 当程序编译出错或者链接出错时,系统都将在Output输出窗口中随时显示出有关的提示 信息或出错警告信息等(如果是编译出错,只要双击Output窗口中的出错信息就可以自动跳 到出错的程序行,以便仔细查找)。但若编译和链接都正确,而执行结果又总是不正确时, 这时就需要使用调试工具来帮着“侦察”出程序中隐藏着的出错位置(某种逻辑错误)。 强调:初学者常犯的错误是认为“编译和链接”都正确,程序就应该没有问题,怎么会 结果不对呢?“编译和链接”都正确,只能说明程序没有语法和拼写上的错误,但在算法 (逻辑)上有没有错,还得看结果对不对。反过来讲,无论让你设计一个什么样的程序,你都 只写以下几行,则“编译和链接”肯定都正确,但能实现设计的要求吗? #include int main(void) printf(“Hello World!n“); return 0; 事实上,程序设计的重点完全不是修正编译和链接过程中的错误相对而言,这
3、种工 作基本没有技术含量,程序设计的主要工作是设计正确的算法。 3.23.2 对程序进行调试的基本手段和方法对程序进行调试的基本手段和方法 调试程序的方法与医生看病的道理类似:先问清基本情况,再进行大致的检查,然后分 析检查的结果、确定范围,再进行专项检查,再分析检查结果,如此反复,最后确定问题所 在并进行治疗、检查疗效。 必须指出的是:用户调试自己的程序时,应对程序的设计(工作)思路非常清楚,知道每 一段、每一行程序所应起到(尽管不见得都能实现)的作用,这是基本的前提。若自己对设计 都不清楚、甚至不知道每一段、每一行程序应发挥的作用,是谈不上调试程序的。 (1)(1)观察了解程序的观察了解程序的“病症病症”表现表现 首先是看清情况,程序的任务、程序的预期表现与程序工作的实际表现,大概是什么方 面的“病”对于常见的小“病” ,经验丰富的专家不用后续检查就能知道问题所在。经 验当然重要,但对于初学者而言,掌握正确的调试思路则更加重要,因为初学者很难通过观 察程序而发现问题所在。 (2)(2)弄清程序的主要工作流程弄清程序的主要工作流程 在学习过程中设计的程序一般都不太复杂,从总体算法上总
4、是可以划分为几个大的模块 2 2 (也可称为步骤,可以是一段程序或一个子程序函数):接收用户的要求和任务(读取相 应的参数、输入相应的数据)、对数据进行计算和处理、按格式要求输出相应的结果。对于 每一个大的模块,又可以分为许多子模块。 #include int main(void) int a10000, i, j, num, x, tmp, mini; /从键盘读入用户输入的数据,数据存放在数组a中,num记录读入数据的个数 printf(“nPlease input numbers:“); for (i=0; i amini) /如果有谁比当前认为最小的还小,则记住其位置 mini = j; /将找到的最小数与第i个数交换位置,实现第i个最小数到位 tmp = ai; amini = ai; ai = tmp; /输出计算、处理的结果 printf(“Output:n“); for (i=1; i #include int main(void) int x; printf(“Please input x:“); scanf(“% d“, printf(“cos(x)=%fn“, c
《VC6程序的基本调试方法剖析》由会员206****923分享,可在线阅读,更多相关《VC6程序的基本调试方法剖析》请在金锄头文库上搜索。
人教版小学英语单词分类记忆汇总表excel版
人教版九年级全一册英语词汇
2019年开展垃圾分类的工作总结报告【五篇】
六年级英语绘本教案
外研版小学英语单词表全带音标(一年级起点1-12册)
最新国家开放大学电大投资学网络核心课形考网考作业及答案
初中人教版七年级下册生物复习提纲
高中英语语法大全高中英语语法系统全解word版
☆初中英语语法专项练习习题以及答案
初中英语常考近义词同义词辨析
高中物理选修3-5全套教案(人教版) (1)
英语绘本《WeatherReport》教学设计
防护功能平战转换设计专篇各专业
初中人教版七年级上册下册全册生物复习提纲21页 (1)
商务星球版七年级上册地理知识点归纳总结
初中人教版七年级上册下册全册生物复习提纲21页 (2)
高中高考语文作文词汇句型优美句子万能语句大全
中考地理选择题专项复习550题含答案
北师大版七年级数学上册第四章基本平面图形单元测试题含解析
人教版七年级数学上册第一章有理数单元检测题解析版
2024-03-26 4页
2024-03-26 4页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页
2024-03-26 4页
2024-03-26 3页
2024-03-26 4页