第4章创建应用程序框架(3006KB).ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.4.2 Debug调试器 Visual C++提供了一个调试工具─Debug调试器。利用Debug调试器可以在开发程序时方便快捷地进行程序的调试。 Debug调试器功能: 设置断点 单步跟踪 观察变量、表达式和函数调用关系。 即使程序没有设计错误,也可以使用Debug调试器分析任何一个程序的执行过程,这对于学习 MFC应用程序框架的工作原理以及如何定制自己的应用程序都是非常有用的。 Debug 和 Release 版 Debug版本生成的中间文件及可执行文件放在Debug子目录,目标文件包含所有的调试信息,但不具有优化功能。 Release版本生成的文件放在Release子目录,目标文件不包含任何调试信息,不能进行程序调试,但具有优化功能。 编程时一般先生成一个Debug调试版程序,程序经过调试确认无误后,再编译、链接生成一个Release发布版程序。 启动Debug调试器 Build主菜单中有一个Start Debug子菜单,其中含有启动Debug调试器的命令。如执行其中的Go(快捷键为F5)命令后,程序便在调试器中运行,直到断点处停止。 启动调试器后,Debug菜单取代Build菜单出现在菜单栏中,同时出现一个停靠的Debug工具栏和一些调试窗口,如下图所示。 F5-GO F9-设断点 F10-单步执行 调试窗口 除了Debug工具栏,Debug调试器还提供了一些辅助窗口,用于显示程序的调试信息。调试窗口汇集了许多信息,但通常并不需要观察所有信息,而且有限的屏幕空间也限制了打开窗口的个数。 一般情况下,当进入程序调试时,除了打开常见的Output输出窗口,Debug调试器还自动打开Variable和Watch窗口。 Output输出窗口:显示有关Build和Debug操作的信息,包括编译链接错误提示信息和调试时一些调试宏的输出信息。 Variable变量窗口:用于观察和修改某个作用域内所有变量的当前值,调试器可根据当前程序运行过程中变量的变化情况自动选择应显示的变量。该窗口有三个页面: (1)Auto页面显示当前语句或前一条语句中变量的值和函数的返回值; (2)Locals页面显示当前函数中局部变量的值; (3)This页面以树型方式显示当前类的对象的所有数据成员,单击“+”号可展开指针所指对象。 Watch查看窗口:用于观察和修改变量或表达式的值。单击Watch窗口Name栏下的空白框,用户可添加新的要观察的变量或表达式。 4.4.3 跟踪调试可执行程序 跟踪调试程序是查找逻辑设计错误最常采用的动态方法。跟踪调试的基本原理就是让程序按照源代码设计流程一步一步地执行,通过观察和分析程序执行过程中数据和代码执行流程的变化来查找程序设计的逻辑错误。 程序调试的几种方法: 在程序中人为设置断点,加入输出语句(传统方法)。 采用TRACE调试宏输出需要的信息(Visual C++)。 利用Visual C++ IDE集成调试器直接进行程序的跟踪调试,Debug调试器是其中最常用的调试器。 设置断点:在调试器中运行程序时可以强制程序执行到断点处暂时停下来。 使用Debug调试程序最有效的手段 单步执行:使程序按照源代码的编写流程一行行执行。 观察程序当前的数据变化情况:单步执行程序时通过观察调试窗口中变量、表达式、调试输出信息和函数栈的内容了解程序的运行情况。 跟踪调试时可以很方便地查看某个变量的值,只需将光标在该变量上停留片刻,就会出现一个黄色的DataTips信息框,显示光标所指变量的值。 void CEllipseView::OnDraw(CDC* pDC) { CEllipseDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); int yLeft[5]={0,70,140,210,280}; int yRight[5]={70,140,210,280,350}; for ( int i=1; i=5; i++) // 绘制五个纵向排列整齐的椭圆 pDC-Ellipse(100, yLeft[i], 300, yRight[i]); // 参数为椭圆外接矩形的左上角和右下角坐标 } 例 编写一个单文档应用程序Ellipse,程序运行后在程序视图窗口根据所提供的参数绘制五个纵向排列整齐的椭圆。 编译、链接并运行程序Ellipse,程序没有按要求绘制出五个椭圆。为了找到错误所在,首先应该跟踪绘制椭圆的函数OnDraw()。 将光标移到OnDraw(

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档