第七章 vc6调试入门教程.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC6调试入门教程 虞铭财 本文以OJ上957题简单计算为例介绍VC6 的基本调试功能。 题目在《程序设计基础2010》实验三分支结构 中。 希望大家把这个代码输入到vc 中,跟着本教程多调试几遍,肯定可以掌握调试的基本技巧。 文中如有错误,请指出,不胜感激!! 已有代码如下 提交到OJ上,判题结果为WA。 虽然用题目的样例输入R 1也能得到正确结果 19。但题目中还存在逻辑错误。 对于判题结果为WA 的题目,首先大家需要去设计一些测试数据去测试你的程序,看看程 序的输出结果是否正确(比对程序输出与自己手工计算结果是否一致),本题还可以设计测 试数据,如a 1,正确结果应该为f(a)+1=0,但运行程序后结果如下 说明对测试数据a 1来说,程序给出了错误的结果。 需要找出程序到底哪一行出现了问题。这个时候需要调试程序。 调试程序的目的就是找出程序中的逻辑错误(希望大家都能明白语法错误和逻辑错误的区 别)。调试的最基本方法主要如下:设置断点、单步执行程序、查看程序中的变量。 1、设置断点 从代码上看,显然1-6行是没有问题的。所以我们在第7行设置断点,如果大家不确定前面 的代码是否有问题,可以在main 函数的开始处设置断点。把光标移到第7行的行首,如图 所示,光标会在第7行闪烁(图上I字形所在位置)。 然后在工具栏上点击调试按钮 ,或者按快捷键F9。这样就在第7行设置好了断点,如 图第7行前面有一个红色的圆点。 如果再次把光标移到第7行,然后点击调试按钮 或者按F9,则取消断点。所以按钮 或者F9 的功能是插入或者删除断点。 备注:断点的作用是使程序在调试的时候,运行到断点所在的行 (但是尚未执行该行)的时 候暂时把程序停下来,这样就可以程序运行到断点的时候查看变量的值。 2、开始调试 设置好断点后,点击工具栏上的开始调试按钮 或者按快捷键F5就可以开始调试。开始 调试后如图: 大家可以发现在第7行有一个黄色的箭头,表示程序执行到该行了 (再次强调一下,该行的 代码尚未执行)。 备注:在开始调试后,需要注意如果断点行前有scanf ()语句,需要先在程序运行窗口先 按题目要求给定程序的输入。断点行本身就有scanf() (这个例子的断点行就有),则继续调 试。 3、单步执行 开始调试程序后,程序运行到断点行暂停,这是我们可以查看程序中的变量值,也可以继续 单步执行。在本例中我们先单步执行程序。 点击工具栏上的单步执行按钮 或者按快捷键F10可以让程序执行到下一行。但是本例中 因为第7行有一条scanf()语句,按F10后大家会发现光标还是停留在第7行,这是因为程 序已经执行了第7行的命令,但是因为需要输入,所以在等待输入。这时我们切换到程序运 行窗口 (就是程序运行后,那个黑黑的窗口,^_^),输入程序需要的数据,本例中我们输入 R 1后按回车。如图: 在切换到vc6 的代码窗口,我们可以发现这时光标已经在第8行了,如图; 4、查看变量 程序执行到第8行后,我们可以查看变量的值了。在vc 的默认布局下,在vc窗口的下方有 watch窗口和variables窗口,如图 左边的是variables窗口,该窗口中显示程序出现的一些变量及其值,右边的是watch 窗口, 在watch窗口中,可以添加需要查看的变量。把鼠标移到这两个窗口的上方,当光标变成 时,安装鼠标左键可以上下拖动来调整窗口的大小。 在watch窗口中,点击名称下面的空白的地方,可以输入要查看的变量,本例查看x与y 的 值,分别添加x与y后,如图 可以看到x 的值为R,y 的值为1。 备注:大家发现x 的值比较奇怪,是82R,这是因为x是char类型的,它的值为R,同时 前面的82是字符R的ASCII值。如果有不明白,请去找ASCII码相关资料。 5、继续调试程序 继续按F10,因为在x 的值为R的时候,表达式 的值为False,所以第8行的if语句判断条件为False,第9到12行的代码不执行,程序直 接执行到第 13行,如图 继续按F10,以为第13行的判定条件成立,所以程序执行到第15行 (第14行只有花括号, 直接跳过)。如图 第15行的代码是计算f(x)的值,然后把f(x)的值再保存在变量x 中。继续按F10,程序到第 16行,这时我们发现watch窗口中x 的发生变化了。如图 x 的值变为18 (ASCII码值)

文档评论(0)

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

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

1亿VIP精品文档

相关文档