vc调试过程中的技巧.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  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调试过程中的技巧

使用VC++6.0调试程序 调试程序 调试运行 单步跟踪 单步跳进跟踪 观察自动变量 观察其他变量 停止调试 1:打开jiecheng项目(双击jiecheng.dsw文件) 2:build该项目,确定程序可以运行 3:调试运行阶乘程序 4:设置断点 5:再次调试运行程序 6:使用单步执行程序到结束 1:打开jiecheng项目 2:Build该项目,确定程序可以运行 3:调试运行阶乘程序 4:设置断点 将鼠标停留在程序的第8行,在第8行的任意地方单击鼠标左键(第8行即“i = i*4;”) 在工具栏上选择 按钮,为第8行设置断点,以便让程序在此处暂停运行 5:再次调试运行阶乘程序 注意观察,现在调试运行程序会如何? 5:再次调试运行阶乘程序(续) 6:使用单步执行到程序结束 设置断点以后,调试运行程序时,程序开始执行,并且运行到断点处暂停下来,此时我们有机会观察程序的运行情况,并且诊断程序目前的状态是否如我们所预期的那样。 不过我们先不着急观察程序的状态,而是来看看如何控制程序的运行,以便在我们需要的时候让程序暂停下来,并且以我们需要的方式走走停停! 6:使用单步执行到程序结束 程序停下来了,如何让程序从暂停的地方继续向前执行? 方法是使用单步执行手段(Step Over)让程序向前走一步 熟悉调试工具栏和菜单(只在调试运行时出现) 观察自动变量 观察变量的值及其随程序运行时的变化情况 设置断点,调试运行程序,此时程序暂停在断点处等待 选择Debug菜单,找到 最后一项“Quick Watch” 并点击 点击Add watch,看到如下画面 调试观察每一步骤变量i的值 点击单步执行按钮或者菜单,程序则向前单独运行一个步骤 每向前执行一步,就会暂停下来,这样我们就有充足的时间观察所关心的变量名称 观察变量i的值的情况 注意在调试过程中 断点不能设置在空白行上面 添加断点和删除断点的方法一样 一个程序中可以设置多个断点 按下F5键可以让程序从当前位置向前执行,直到遇见下一个断点或者程序结束 相关C语言基础知识 指针: 结构体: 指针 地址和指针的概念 一、指针概述: 1、“” :地址运算符 2. “*” :指针运算符,取其指向的内容: exp: a: 变量a的地址: *p: 变量p的内容; 注: “” 不能施加在常数,常量和表达式上; 二、指针变量: 存放某种变量地址的变量称为指针变量。 结构体 指向函数的指针 1.函数指针的概念   一个函数在编译时,被分配了一个入口地址,这个地址就称为该函数的指针。   可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。 (3)调用格式 (*函数指针变量)([实参表]) 3.指向函数的指针变量作函数参数 指向函数的指针变量的常用用途之一,就是将函数指针作参数,传递到其它函数。 注意:对指向函数的指针变量,诸如p+i、p++/p--等运算是没有意义的。 例10.24  设有一个函数process,在调用它时,每次实现不同的功能。输入a和b两个数,第一次调用时找出a与b中的大者,第 二次找出小者,第三次求和。 返回指针值的函数   一个函数可以返回一个int型、float型、char型的数据,也可以返回一个指针类型的数据。 返回指针值的函数(简称指针函数)的定义格式如下: 函数类型 *函数名(形参表列)  例如:  int *a(int x,int y); 该函数的函数名为a,返回的是一个整型的指针。 指针数组 指针数组的概念 数组的每个元素都是一个指针数据。指针数组比较适合用于指向多个字符串,使字符串处理更加方便、灵活。 数据类型 *数组名[元素个数] 例如: int *p[4]; char *string[10]; p指向数组a易混淆的问题 *p++,*p(++),*(++p),(*p) 设P指向a数组中的第i个元素: *(p--)==a[i--]; *(--p)==a[--i]; *(++p)==a[++i]. 例: 描述一个学生的姓名、学号、性别、年龄。 每个学生都有这样的属性,它们构成一个描述学生具体情况的一个整体。而每个属性又是一个基本的类型,本例中可分别用字符数组、长整型、字符型、和整型来描述。 定义结构体类型, 描述下列数据 struct student { int no; /*学号*/ char name[10]; /*姓名*/ char sex;

文档评论(0)

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

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

1亿VIP精品文档

相关文档