- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++编程的调试技巧 大连理工大学 软件学院 赖晓晨 主要内容 VC++集成开发环境 调试方法 如何独立解决问题 编程规范 一、集成开发环境的熟悉 工欲善其事,必先利其器 二、调试方法 行而上谓之道,行而下谓之器 树立正确的编程方法论 没有解决不了的问题,树立编程信心 按照正确的方法来编程 从实践中体会解决问题的思路、编程的思想 熟练掌握语法,数据结构,算法、模式,底层环境 按照编程规范来编写代码 充分利用各种资源: 调试器 msdn 网络搜索引擎 常用调试手段 利用编译器的输出信息排除错误 利用调试器的调试功能 单步、run to cursor、断点、条件断点、查看堆栈、 利用watch窗口查看变量、表达式的值 分段调试法、增量调试法 利用flush人为刷新缓冲区 修改输出信息,增加标志位 利用输出语句打印调试信息 通过堆栈观察函数调用情况 综合程序调试方法 注释的技巧、条件编译 几个简单例子 结 论 1 永远不要写过长的语句,应该让代码尽可能简单;永远不要把两条语句写在一行中,以便于调试。 结 论 2 要尽可能的熟悉语法知识 充分利用编译器提供的信息 编程过程中要细心 思路要清晰,没把握时,要先画流程图,然后再编码 结 论 3 要掌握编程的本质: 是由程序员控制机器,使其按照我们的思路运转,机器本身没有智能。 结 论 4 编译器不一定能给出确切的错误信息,要合理的“猜测” 出错信息 通过单步运行的方式加深我们对程序执行流程的理解。 单步执行是最重要的调试手段! 结 论 5 通过单步执行可以发现程序运行的轨迹 通过单步执行可以随时监视变量的值,无论何时发现变量值与我们的预期不一致时,即找到了错误点 单步调试方法 前提:debug版本可执行程序,build正确 进入调试状态 F10为单步调试,要深入到子函数中单步调试,应在函数调用语句处按F11 单步调试应该结合watch窗口监视变量值的变化 稍复杂的例子 结 论 6 分段调试:可以有效降低调试难度,快速定位错误的大致范围,“粗调” 单步F10调试:找到可疑点后,逐行执行可疑点附近的代码,对错误“精调” run to cursor:使程序快速运行到可疑点后暂停,克服F10运行速度慢的缺点 强制输出(flush):增加有参考价值的信息 watch窗口:可观察变量或表达式的值,配合F10进行单步“精调” 小技巧 在循环体内,每执行一次run to cursor,就相当于完整的执行了一遍循环体,经常用来替代多次执行F10。 结 论 7 F11可以深入到函数内部单步执行,F11和F10结合起来使用可以调试多函数的程序。 step over可以从当前函数中跳出到调用点 观察堆栈能看到函数之间的调用关系 在适当的位置插入输出语句,有助于了解程序的执行流程,是一种十分重要的调试手段 小技巧 单步调试时,如果某条语句不是调用自定义的函数,那么不要按F11,尤其是本行包含了cout 综合实例 小技巧 程序输出太长,看不到前半部分怎么办? 在文件系统中找到此程序,双击执行可以吗? 小技巧 在VC++集成开发环境中执行控制台程序,执行完毕后VC++会自动加暂停,但是直接在文件系统中执行时没有这个暂停功能。 解决办法:在命令提示符下执行程序,使用输出重定向功能,然后去相关目录下查看输出文件。 小技巧 利用 // 和 /* */ 注释掉代码段的简便方法 条件编译 三、培养独立解决问题的能力 授人以鱼,不如授人以渔 问 题 如何在一个C++程序中调用另一个程序。 问 题 如何在一个C++程序中调用另一个程序。 通过google、baidu查询,逐渐逼近问题的答案 问 题 如何在一个C++程序中调用另一个程序。 通过google、baidu查询,逐渐逼近问题的答案 四、编程规范 不以规矩,不成方圆 软件开发编码规范 广州HW有限公司质量管理体系文件 引言 为了提高源程序的质量和可维护性,最终提高公司软件产品生产力,我们有必要对公司软件产品的源程序的编写风格作出统一的规范约束。本文档的读者是系统分析设计人员和C\C++程序代码编制人员、测试人员。 总则 本规范总则的内容包括: 术语: 术语描述: 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 说明:对此规则或建议进行必要的解释。 示例:对此规则或建议从正、反两个方面给出例子。 1。排版 1-1: 程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 1。排版(续) 1-2:相对独立的程序块之间、变量说明之后必须加空行。 1。排版(续) 1-3:较长的语句(80字符)要分成多行书写,长表达式要在低优先级操作符
您可能关注的文档
最近下载
- 2025年中国半乳甘露聚糖项目创业计划书.docx
- 2025年中国四氯化锆项目投资计划书.docx
- 外研版(三起)五年级英语上册专项提升训练- 写作(含答案).doc VIP
- 阀门、法兰、弯头、封头等保温计算公式.xls VIP
- 中国溶剂油项目投资计划书.docx
- 中国电子测量仪器行业市场占有率及投资前景预测分析报告.pdf VIP
- 2025至2030中国MPV商务车行业运营态势与投资前景调查研究报告.docx VIP
- 计算方法与实习第5版 孙志忠 习题解析 东南大学.pdf VIP
- 数字经济学 课件全套 第1--15章 数字经济学基础 --- 数字经济监管.pptx
- 2023年青少年百科知识竞赛题库及答案(共390题).docx VIP
文档评论(0)