- 1、本文档共125页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【主要内容】 ? 程序调试环境VC6.0介绍; ? 程序调试方法; ? 程序测试方法。 【学习目标】 ? 了解典型的软件开发流程,能够按照软件开发流程编写实际的应用程序; ? 了解编译、链接的目的与意义; ? 初步掌握程序调试的基本方法; ? 了解程序测试方法。 无论一个程序的设计结构是如何合理,也无论文档如何完备,如果不能产生正确的结果,则其一文不值。 ——《C++程序调试》[美]Chris H.Pappas William H.Murray 任何一个天才都不敢说,他编的程序是完全正确的。几乎每一个稍微复杂一点的程序都必须经过反复的调试、修改,最终才能完成。 调试:在应用程序中发现并排除错误的过程。 调试是一个程序员应该掌握的最基本的技能,其重要性甚至超过学习一门语言。不会调试,意味着程序员即使会一门编程语言,也不能编制出任何好的软件。 几乎没有首次编写就不出错的代码。对一定规模的程序,由读源代码来寻找bug基本不可行,用调试工具找bug是最有效率的方法。 调试有助于程序员了解程序的实际执行过程及检查设计与预想的一致性,提高程序开发效率;熟悉调试过程,可以让程序员编写出适合调试的代码,提高对代码的感知力和控制力。 调试工具是学习计算机系统和其他软硬件知识的好帮手。通过软件调试可以快速地了解一个软件和系统的模块、架构和工作流程。 调试方法一旦掌握,长期受用。 “bug”与“debug” 英文bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,对于一些隐藏着的未被发现的缺陷或问题,人们也叫它“bug”,这是怎么回事呢? “bug”的命名者是格蕾丝·赫柏(Grace Murray Hopper),她是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。1945年,计算机还是由机械式继电器和真空管驱动的,机器有房间那么大,体现当时技术水平的Harvard MarkⅡ,是由哈佛大学制造的一个庞然大物。一天,当赫柏通过设置MarkⅡ?中的17000个继电器进行编程后,她的工作却毁于一只飞进计算机内部一组继电器的触点而造成短路的飞蛾。在报告中,赫柏用胶条贴上飞蛾,并用“bug”来表示“一个在电脑程序里的错误”,从此“bug”这个说法一直沿用到今天。 与bug相对应,人们将发现bug并加以纠正的过程叫做“debug”(中文称做“调试”),意即“捉虫子”或“杀虫子”、排除(程序中的)错误。 编程与调试都是程序开发中的重要环节,那么程序开发的整个流程是怎样的呢?图10.1给出了开发软件的一般流程,图中椭圆框为加工,矩形框为加工的结果。 图10.1 程序开发流程 用计算机解决问题,我们首先要对待解决的问题进行分析,把其中的信息以及信息间的联系提炼出来,然后确定数据及数据间的逻辑关系并确定它们的存储方式,用编程语言中的数据类型描述出来,这样就确定了数据结构,其后的算法设计是建立在数据的存储结构之上的。 程序员依据算法进行程序设计,完成之后,把源程序交给编译器进行编译,如果有语法错误,编译器会给出错误或告警,这时程序员根据提示找出程序中的错误进行修改,直到程序编译通过,形成可执行程序。之后再运行可执行程序,并根据测试用例进行测试,查看结果是否正确。 若结果没有问题,则程序开发工作完成;若结果有问题,则进行调试,找出程序中的错误原因,确定是在问题分析、数据结构设计、算法设计、代码设计的哪一步出的问题,做相应的修改后重新编译成执行程序,重新测试,直至得到正确的结果。 ? 测试用例:为验证程序是否达到设计要求而编制的一组测试数据、预期结果等内容。 ? 源程序:用高级语言或汇编语言编写的程序代码。 用C语言编写好的源程序是不能在机器上直接运行的,实际上任何高级语言源程序都要“翻译”成机器语言才能在机器上运行,“翻译”的过程见图10.2。 图10.2 C语言的翻译执行过程 源程序经过“编译程序”的翻译,形成计算机可以识别的二进制代码。 编译的主要步骤是,读取源程序,首先进行预处理,即将其中的宏定义替换,将头文件全部包含进来,然后对其进行词法和语法的分析,没有错误则转换为机器语言,生成目标程序。 尽管目标代码已经是机器指令,但还需要通过“链接程序”将各个目标程序与库函数连接,才能形成完整的可执行程序。 程序上机运行调试步骤如图10.3所示。 图10.3 程序上机运行调试步骤 (1) 编辑(Edit):录入源程序代码。生成C源程序文件,后缀为.c(在VC6.0环境下为.cpp)。
您可能关注的文档
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第4章数组.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第5章 函数.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第6章指针.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第7章复杂数据类型.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第8章文件.ppt
- C语言程序设计实验指导 教学课件 作者 唐新来 王萌 第9章预编译和位运算.ppt
- C语言程序设计实用教程 教学课件 作者 陈方 C语言程序设计模拟试卷A.doc
- C语言程序设计实用教程 教学课件 作者 陈方 C语言程序设计模拟试卷B.doc
- C语言程序设计实用教程 教学课件 作者 陈方 第1章.ppt
- C语言程序设计实用教程 教学课件 作者 陈方 第2章.ppt
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
最近下载
- 2025年中国抗CD20单株抗体项目创业计划书.docx
- 5.2《做自强不息的中国人》 课件-2024-2025学年统编版道德与法治七年级下册.pptx VIP
- 2025年初中地理中考跨学科专题练习附答案.docx VIP
- 天然气场站设备-题库.doc VIP
- 做自强不息的中国人 课件- 2024-2025学年统编版道德与法治七年级下册.pptx VIP
- 高速公路养护风险源辨识表.docx
- 2025年内蒙古时事政治考试试卷带解析AB卷.docx VIP
- 2025上海中学生时政大赛备考题复习试题附答案.doc
- 《GB 43500-2023安全管理体系要求》解读与培训.pptx
- 天然气场站设备拆除施工方案.doc
文档评论(0)