VC程序调试.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC程序调试.doc

VC程序调试(本部分来自软件学院张锋老师实验教材) 在开发程序的过程中,经常需要查找程序中的错误,这就需要利用调试工具来帮助你进行程序的调试,当然目前有许多调试工具,而集成在VC 中的调试工具以其强大的功能,一定使你爱不释手。下面我们先来介绍VC 中的调试工具的使用(以下内容均以VC 6.0为例)。 1 VC调试工具 1.1 调试环境的建立 在VC 中每当建立一个工程(Project)时,VC 都会自动建立两个版本:Release 版本,和Debug 版本,正如其字面意思所说的,Release 版本是当程序完成后,准备发行时用来编译的版本,而Debug 版本是用在开发过程中进行调试时所用的版本。 DEBUG 版本当中,包含着MICROSOFT 格式的调试信息,不进行任何代码优化,而在RELEASE 版本对可执行程序的二进制代码进行了优化,但是其中不包含任何的调试信息。 在新建立的工程中,你所看到是DEBUG 版本,若要选择RELEASE 版本,可以选择菜单PROJECT 中的SETTING 命令,这时屏幕上面弹出PROJECTSETTEING 对话框,在SETTING FOR 下拉列表中选择RELEASE,按OK 退出,如图4.1。 图4.1 在调试程序的时候必须使用DEBUG 版本, 我们可以在ProjectSetting 对话框的C/C++页中设置调试选项。 图4.2 各个选项的含意如下: Program Database 表示产生一个存储程序信息的数据文件(.PDB), 它包含了类型信息和符号化的调试信息; Line Numbers Only 表示程序经过编译和链接产生的.OBJ 或.EXE文件仅仅包含全局和外部符号以及行号信息; C7 Compatible 表示产生一个.OBJ 或.EXE 文件行号信息以及符号化的调试信息; None 表示不产生任何调试信息。 1.2 调试的一般过程 调试,说到底就是在程序的运行过程的某一阶段观测程序的状态,而在一般情况下程序是连续运行的,所以我们必须使程序在某一地点停下来。所以我们所做的第一项工作就是设立断点。其次,再运行程序,当程序在设立断点处停下来时,再利用各种工具观察程序的状态。程序在断点停下来后,有时我们需要按我们的要求控制程序的运行,以进一步观测程序的流向,所以下面我们依次来介绍断点的设置,如何控制程序的运行以及各种观察工具的利用。 1.3 如何设置断点 在VC 中,你可以设置多种类型的断点,我们可以根据断点起作用的方式把这些断点分为三类: 1、与位置有关的断点; 2、与逻辑条件有关的断点 3、与WINDOWS 消息有关的断点 下面我们分别介绍这三类断点。首先我们介绍与位置有关的断点。 1、 最简单的是设置一般位置断点,你只要把光标移到你要设断点的位置,当然这一行必须包含一条有效语句的;然后按工具条上的add/remove breakpoint 按钮或按快捷键F9;这时你将会在屏幕上看到在这一行的左边出现一个红色的圆点表示这儿设立了一个断点。 图4.3 2 、有的时候你可能并不需要程序每次运行到这儿都停下来,而是在满足一定条件的情况下才停下来,这时你就需要设置一种与位置有关的逻辑断点。要设置这种断点我们只需要从EDIT 菜单中选中breakpoint 命令, 这时Breakpoints 对话框将会出现在屏幕上。选中Breakpoints 对话框中的Location标签,使Location页面弹出,如图4.4 图4.4 单击Condition… 按钮,弹出Breakpoint Condition对话框,在Expression 编辑框中写出你的逻辑表达式,如X=3 或a+b25,最后按OK 返回。 图4.5 这种断点主要是由其位置发生作用的,但也结合了逻辑条件,使之更灵活。 3、有时我们需要更深入地调试程序,我们需要进入程序的汇编代码,因此我们需要在在汇编代码上设立断点:要设立这种断点我们只需从View 菜单中选Debug window 命令 , 图4.6 再选Disassembly 子命令,这时汇编窗口将会出现在屏幕上。 图4.7 在图4.7 中的汇编窗口中你将看到对应于源程序的汇编代码,其中源程序是用黑体字显示,下面是且对应的汇编代码。要设立断点,我们只需将光标移到你想设断点处然后点击工具条上的Insert/RemoveBreakpoints 按钮,此后你将会看到一个红圆点出现在该汇编代码的右边。 图4.8 上面所讲的断点主要是由于其位置发挥作用的,即当程序运行到设立断点的地方时程序将会停下来。但有时我们设立只与逻辑条件有关的断点,而与位置无关。所以下面介绍一下与逻辑条件有关的断点。 (1)逻辑条件触发断点的设置: 从EDIT 菜单中选中breakpoint 命令,这时屏幕

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档