- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Varibles Debug工具条上的Varibles按钮弹出一个框,显示所有当前执行上下文中可见的变量的值。特别是当前指令涉及的变量,以红色显示。 Reigsters Debug工具条上的Reigsters按钮弹出一个框,显示当前的所有寄存器的值。 其他调试手段 系统提供一系列特殊的函数或者宏来处理Debug版本相关的信息,如下: 宏名/函数名 说明 TRACE 使用方法和printf完全一致,他在output框中输出调试信息 ASSERT 它接收一个表达式,如果这个表达式为TRUE,则无动作,否则中断当前程序执行。对于系统中出现这个宏 导致的中断,应该认为你的函数调用未能满足系统的调用此函数的前提条件。例如,对于一个还没有创建的窗口调用SetWindowText等。 VERIFY 和ASSERT功能类似,所不同的是,在Release版本中,ASSERT不计算输入的表达式的值,而VERIFY计算表达式的值。 本章结束 * 第8讲继续 掌握Debug工具条的主要按钮含义 Stop debugging 停止调试 step into 单步跟进,如果当前语句有函数调用,则单步进入函数执行,否则单步执行完一条语句。 step over 单步执行完当前语句,若当前语句有函数调用,除非被调用函数中有断点,否则不会跟进函数。 step out 执行完当前语句所在函数的执行,返回该函数的调用处。 Run to cursor 执行到当前光标处, 注意观察箭头 便于理解记忆 常用进程控制快捷键 快捷键 说明 F5 go SHIFT+F5 Step over CTRL+F5 Execute program F7 Build CTRL+F7 Compile F10 Step over CTRL+F10 Run to cursor F11 Step into SHIFT+F11 Step out CRTL+SHIFT+F5 Restart 点击Step into后,进入函数MainLoop执行 语境切换成MainLoop() 当前就要执行的代码行 6. 如何了解执行状态? 查看数值 VC支持查看变量、表达式和内存的值。所有这些观察都必须是在断点中断的情况下进行。 观看变量的值最简单,当断点到达时,把光标移动到这个变量上,停留一会就可以看到变量的值。 watch VC提供一种被称为Watch的机制来观看变量和表达式的值。 在断点状态下,在变量上单击右键,选择Quick Watch, 就弹出一个对话框,显示这个变量的值。 watch 单击Debug工具条上的Watch按钮,就出现一个Watch视图(Watch1, Watch2 , Watch3,Watch4),在该视图中输入变量或者表达式,就可以观察 变量或者表达式的值。 注意:这个表达式不能有副作用,例如++运算符绝对禁止用于这个表达式中,因为这个运算符将修改变量的值,导致 软件的逻辑被破坏。 再次点击Step into后,开始当前执行函数代码 自动给出当前语境下变量的值 再次点击Step into后,将进入Menu参数执行 进入Menu函数,语境切换,自动切换显示当前语境下的变量值 将到执行的语句 当前程序运行结果? 什么也没有,为什么? 因为没有输出任何内容 单击Step over,执行完第一个printf语句 printf语句返回值被自动给出,表示输出了62个字符 执行结果? 执行第1条printf语句以后的输出结果 将光标移动到此行 点击run to cursor printf语句返回值被自动给出,表示输出了62个字符 执行到此行之前 刚才那几个变量怎么不见了?因为有点远(上下文),只显示执行位置附近的,想看怎么办? 可以在此处增加你想看的东西。 基本方法:直接在此处写上(还有别的办法加)你想看的内容的表达式 如:想看nSelection和nState值,想看nState的地址,怎么办 手工增加nSelection和nState和nState,系统会自动给出它们的值 继续以step over的方式到此语句,注意观察debug工具栏的几个按钮已经变灰,原因是在执行scanf语句,等待你在运行窗口中录入数据 手工在任务条点击显示运行窗口,输入13 各个变量的值发生了变化 当前上下文的一些东西又自动出现了 这个+号表示还可展开查看 点击step out,退出当前函数Menu的执行,返回到原调用处 点击step out,退出原当前函数Menu的执行,返回到原调用处 为什么nSelection的值发生了变化? 另外两个表达式的怎么不见了? 原因:语境发生变化了,此nSelection非彼nSel
您可能关注的文档
最近下载
- 福建省突发化学中毒卫生应急预案.doc VIP
- (最新)执业兽医师聘用协议合同书5篇.docx
- 盘扣式落地式卸料平台专项施工方案新版.docx VIP
- 2025年中国私募股权基金行业市场运行现状及投资战略研究报告.docx
- 护理礼仪与人际沟通.pptx VIP
- 二次函数复习课公开课二次函数复习课公开课.ppt VIP
- 电力工程项目建设用地指标(风电场)(建标〔2011〕209号).pdf VIP
- DB3301_T0329.1—2020_社会救助家庭家境调查规范第1部分:工作程序_杭州市 .docx VIP
- 建筑工程师工作总结范文.pptx
- 2025年中考语文二轮总复习:说明文阅读(附答案解析).doc
文档评论(0)