欢迎来到天天文库
浏览记录
ID:39673201
大小:221.34 KB
页数:25页
时间:2019-07-08
《《编译器配置》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualC++调试1编译器配置debug模式连编的Project将产生一个很大且相当慢的可执行程序原因:包含了许多调试信息所有的编译器优化功能被禁用release模式编译同一程序得到一个小而快的可执行程序但无法逐步查看:源代码调试信息2release模式测试进行全面的测试提交给用户使用之前在release模式下重新连编之后3什么是调试?是指更正或修改应用程序代码的过程,用来保证应用程序可以进行生成、平稳运行、按预期方式执行,并且易于日后维护VisualC++提供了各种工具来跟踪代码中的错误。这些工具还能帮助分析应用程序是如何执
2、行的4错误类型编译错误:生成代码不正确时产生的错误运行错误:应用程序在运行时发生的错误,运行环境检测到一个不可能执行的操作逻辑错误:当应用程序未按预期目标执行时发生的错误5调试工具调试工具提供应用程序当前状态的一个快照,其中包括:应用程序用户界面的外观成员变量和表达式的值活动的过程调用:在应用程序中已开始运行,还未结束运行的过程6调试工具(续)断点:应用程序中的一个位置,程序执行到此会中断,允许检查应用程序的代码,变量,甚至修改,然后继续执行,或者终止执行7调试工具(续)检查变量值察看变量和表达式值的方法是使用数据提示弹出信息数据
3、提示同工具提示类似,当鼠标放置在一个变量上时,数据提示显示该变量当前的值8避免错误下列方法用来避免应用程序中的错误:精心设计应用程序必须包含注释对象应尽可能的显式引用在应用程序中,变量和对象应有一致的命名方案9调试技巧简化调试浏览代码,并尽可能的发现引起问题的语句在这些语句上设置断点,重新启动应用程序测试重要变量和属性的值跟踪难缠的错误备份是非常重要的使用内建于开发环境中的调试工具任何与该问题不相关的代码应该排除10设置调试选项和级别利用ProjectSetting对话框的C++选项卡,选择GeneralCategory后,可得到
4、以下的条目:WarningLevel(一般类别)编译器警告信息的级别默认级别:Level3级别报告的警告None不报告任何警告Level1仅报告最严重的错误Level2报告一些不太严重的错误消息Level3报告所有合理的警告Level4非常敏感,适用于完美主义者11跟踪和单步调试交互式单步调试一次执行一行代码,在执行过程中检查变量的内容。在代码中设置断点使程序到达一个断点之前持续运行,并在该断点停下来;允许从断点处开始单步调试,知道你想连续运行程序跟踪语句可在输出窗口显示程序中的消息和变量断言在与指定的条件不为TRUE时使程序运行
5、中止12调试工具栏图2显示VisualC++中Debug菜单图213使用断点和单步调试程序设置断点的步骤:在代码中任何地方设置断点通过调试程序运行程序当运行之断点时,断点处的代码将显示在编辑器窗口中,为单步调试或继续运行程序做好准备。加入一个断点时,在指定的有效代码行旁出现一个小红圆圈。断点只能加在有效代码行中要得到变量的详细信息可把变量拖进Watch窗口中14使用断点和单步调试程序(续)按钮/单步调试选项快捷键选择后的效果StepIntoF11调试程序将执行当前行,如果光标在一个函数调用上,将进入那个函数体。StepOverF1
6、0与StepInto的区别仅在于:当光标在一个函数调用上时,它以正常速度运行此函数,并在此函数中返回时停止,同时给出它的运行结果。StepOutShift+F11调试程序以正常速度运行当前函数的其余部分,并在从此函数中返回到调用它的函数时停止RuntoCursorCtrl+F10在到达指定的光标位置之前调试程序持续运行。可通过单击想要运行到的行来设定此位置。下表列出了可用的单步调试选项:15使用断点和单步调试程序(续)按钮/单步调试选项快捷键选择后的效果GoF5以正常的速度继续运行程序,直至遇到了下一个断点StopDebuggin
7、gShift+F5停止调试程序,返回编辑模式RestartCtrl+Shift+F5从头开始运行程序,并在代码的第一行停下来BreakExecution将以正常速度运行的程序停止在断点处ApplyCodeChangesAlt+F10在调试会话期间对改动的代码进行编译,并从当前断点继续调试16使用Edit和ContinueVC++重要的特性:EditContinue在调试程序中停止运行程序时,可以改变或编辑代码使用debug菜单的ApplycodeChange选项,编译更改后的新代码继续调试这部分新代码在调试时解决代码错误,从具有同
8、样变量设置的代码的同一位置继续调试运行。17调试窗口Watch窗口允许从键盘键入变量名,或从编辑器窗口将变量名拖进来所显示的变量值列在窗口中,直到超出变量的作用域为止。有4个选项卡:Watch1,Watch2,Watch3和Watch4每个选项卡显
此文档下载收益归作者所有