VC6.0 IDE的使用和程序调试技巧.

Slides:



Advertisements
Similar presentations
授课教师:江星玲 1.
Advertisements

Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
Android开发入门 -----Android 开发“Ready go!” 主讲:李晓蕾
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
使用VC++6.0调试程序.
AngularJS -- 使用AngularJS进行开发
第二讲 搭建Java Web开发环境 主讲人:孙娜
学习前的准备工作 讲师:burning.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
简要回顾 了解课程体系、课程目的和主要内容 掌握Windows编程涉及的一些主要概念 DOS程序和Windows程序的主要区别 窗口和程序
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
第1章Visual C++ 6.0开发环境 1.1开发环境概述 1.2开发环境的菜单功能 1.3开发环境的工具栏 1.4项目和项目工作区
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
SDL2 配置 (Windows + Visual Studio)
第一讲: 基本流程(1).
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
单元测试工具XUnit 任课老师:黄武 下午2时20分 25.
簡易 Visual Studio 2005 C++ 使用手冊
Windows 7 的系统设置.
VSS使用简介 王树升
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
C++上机指导 菜单功能 项目和项目工作区 运行多文件程序 程序调试 Pengyu Yang 结束 2019年2月24日星期日.
Gzip编译及调试 曹益华
面向对象程序设计 --Visual C++ 编程
三:基于Eclipse的集成开发环境搭建与使用
程序设计工具实习 Software Program Tool
Visual Studio 2010简捷入门.
C语言程序设计 主讲教师:陆幼利.
Web安全基础教程
直接扫描保存成TIF格式, 其他图片格式用Windows XP自带的 Windows图片与传真查看器打开
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
Drupal Dev 我想知道:什么时候、什么变化.
上机环境介绍 杨斌
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
姚金宇 MIT SCHEME 使用说明 姚金宇
VC++面向对象与可视化程序设计 (第2版)
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
3Glasses SDK for Unreal Engine Plugin
Web安全基础教程
VC++程序调试演示 An Overview of ICU 19th International Unicode Conference
iSIGHT 基本培训 使用 Excel的栅栏问题
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
VRP教程 2011.
Lync 2013 for Android 课程摘要卡 加入 Lync 会议 登录并开始使用 在会议中启动您的视频 更改状态或注销
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
GDP设计协同在线配置产品线公网访问权限操作手册
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
YOUR SUBTITLE GOES HERE
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
RefWorks使用指南 归档、管理个人参考文献.
版权所有 复制必究 第 1 章 Visual C++集成开发环境.
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
熟悉VC++开发环境.
Presentation transcript:

VC6.0 IDE的使用和程序调试技巧

用C或C++进行项目开发的过程 编辑 工欲善其事, 必先利其器 编译 事半功倍 链接 调试与测试

VC++ 6.0集成开发环境简介 是Windows环境下最主要的应用开发系统之一 是C++语言的集成开发环境 与Win32紧密相连 强大的调试功能为大型复杂软件的开发提供了有效的排错手段。 包含源代码编辑器、资源编辑器、C/C++编译器、链接器、调试器,以及一套联机文档。使用Developer Studio,可以完成创建、编辑、编译、调试、运行应用程序等的各种操作。

启动VC++演示 Microsoft Visual Studio 6.0 -> Microsoft Visual C++ 6.0

在VC启动窗口中,取消“Tip of the Day” 单击,关闭对话框 单击,取消对勾 下次启动VC++,就不会再出现“Tip of the Day”对话框

开发环境 开发环境是程序员同VC++的交互界面 通过 它, 可以 创建工程文件 编辑资源 编译、链接、调试 编辑程序源代码

File 菜单 Edit 菜单 菜单简介 Insert菜单 View菜单 7

Project 菜单 Tools 菜单 Windows 菜单 Build 菜单 8

(1) VC++的菜单栏 --- File菜单 File->New->Files 9

File->New->Projects

(2) VC++的菜单栏 --- Edit菜单 (a) Breakpoints选项 位置断点 数据断点 消息断点 用来设置 删除和 查看断点 断点作用: 中断程序的执行过程,以便检查程序代码、变量和寄存器值 12

在位置断点中还可以设置断点条件,此时必须先指定位置,然后再设置条件断点 位置断点通常在源代码 的指定行、函数的开始 或指定的内存地址处设 置,当程序执行到指定 位置时,位置断点将中 断程序的执行 数据断点是在变量 或表达式上设置, 当变量或表达式的 值改变时,数据断 点将中断程序的执行 消息断点是在窗口 函数WndProc上设 置,当接收到指定 的消息时,消息断 点将中断程序的执行 在位置断点中还可以设置断点条件,此时必须先指定位置,然后再设置条件断点 13

利用此选项,可减轻输入代码的工作量。如在变量名之后键入“.”或“->”,系统就会自动显示所有有效的成员名供选择 (b) List Members选项 利用此选项,可减轻输入代码的工作量。如在变量名之后键入“.”或“->”,系统就会自动显示所有有效的成员名供选择 提供有效 的成员名 推荐使用功能更加强大的Visual Assist X插件! (c) Type Info选项 如果在源代码中将鼠标指针停在某一变量或函数上,那么系统将显示所指变量或函数等的语法 14

系统自动完成当前语句其余部分的输入。如果不能自动完成,则给出适当的提示辅助用户完成 (d) Parameter Info选项 当输入代码时,若在输入函数名之后键入左括号,系统将显示该函数的完整原型,并用黑体显示其第一个参数。输入第一个参数之后,接着就会出现第二个参数,依此类推 (e) Complete Word选项 系统自动完成当前语句其余部分的输入。如果不能自动完成,则给出适当的提示辅助用户完成 15

Insert菜单

(3) VC++的菜单栏 --- View菜单 (a) ClassWizard选项 View->ClassWizard选项 改变窗口 改变工具栏的显示方式 检查源代码 激活调试等 18

(b) Workspace选项 (c) Output选项 如果工作区没有显示或者不是处于当前状态,则选择该项将显示工作区窗口。 在输出窗口中显示程序建立过程(如编译、链接等)的有关信息或错误信息,并且显示调试运行时的输出结果。 19

(5) VC++的菜单栏 --- Project菜单 工程文件组合了一个应用程序的所有源文件的组成部分。工程文件包含在扩展名为.DSP的文件中。 21

(a) Set Active Project选项 设定指定的项目为工作区的活动项目 在该子菜单中可以进行如下操作: (1) New:创建新的文件; (2) New Folder:插入新的文件夹; (3) Files:插入已有文件; (b) Add To Project选项 选择该选项将打开一个级联子菜单通过级连子菜单,可以把文件、文件夹等添加到当前工程文件中 22

(6) V C++的菜单栏---Build菜单 (a) Compile选项 只编译当前文件而不调用链接器或其它工具。输出窗口将显示编译过程检查出的错误或警告信息,在错误信息处单击鼠标右键,可以得到错误代码的位置 (b) Build选项 对最后修改过的源文件进行编译和链接 (c) Rebuild All选项 该选项允许用户编译所有的源文件,而不管它们何时曾经被修改过 24

该选项能单步重新建立多个工程文件,并允许用户指定要建立的项目类型 (d) Batch Build选项 该选项能单步重新建立多个工程文件,并允许用户指定要建立的项目类型 Win32 Release(发行版)、Win32 Debug(调试版)。 VC提供了两种 应用程序类型 25

(e) Start Debug选项 单步执行程序, 从当前语句开始执 并在遇到函数调 行程序直到遇到断 用时进入函数内 点或遇到程序结束 部再从头单步执行 从当前语句开始执 行程序直到遇到断 点或遇到程序结束 使程序在运行到当前光 标所在位置时停止(相当 于设置一个临时断点) 调试过程中直 接进入到正在 运行的进程中 26

Tools 菜单

项目 Windows应用程序 文件 项目(VC对项目有良好的自动维护机制) 源代码、各类资源(如:菜单和对话框等 )、函数库 源文件.c/.cpp, 头文件.h, 库文件.lib/.dll,资源文件.rc 项目(VC对项目有良好的自动维护机制) 文件集合(以文件夹方式管理) 有效组织文件并维护各源文件之间的依赖关系 项目文件.dsp、项目工作区文件.dsw、项目工作区配置文件.opt、编译记录文件.plg、资源辅助文件.aps、无编译浏览文件.ncb等等。

项目工作区 项目工作区:用于描述用户当前工作状态的。 项目工作区窗口对项目进行各种管理。 比如打开了哪些文件、当前输入位置在什么地方这一类的信息被保存在工作区文件中,它在VC关闭的时候会自动保存。当用户下一次继续工作的时候,只需要打开这个工作区文件,就可以回到上一次关闭前的状态,而不需要再费心思回忆上一次到底在改哪一行代码了。 项目工作区窗口对项目进行各种管理。

项目工作区 项目工作区与项目 工作区与项目并不一定是一一对应的,一个工作区中也可以包含两个或多个项目。 但一般情况下,人们还是喜欢每次只在一个项目中进行工作,因此一个工作区中往往只有一个项目,或者说,每个项目往往都有与之对应的工作区; 正是如此,当我们想打开一个项目的时候,常用“打开工作区Open Workspace”菜单项打开这个项目文件夹中的工作区文件而不是使用“打开项目Open Project”。

项目工作区窗口 ClassView页 FileView页 ResourceView页

FileView页

ClassView页

File->New->Projects

项目类型 Win32 Application Win32 Console Application 基于WINDOWS平台的32位开发环境开发应用程序,SDK程序。 入口函数为WinMain Win32 Console Application 是基于DOS开发平台开发应用程序,不能使用与图形有关的函数,控制台程序。 入口函数是main 如果你编写传统的C程序,必须建立Win32 Console程序,但VC里面默认的是Win32 Application 。

创建新的项目工作区 在工作区中添加项目: VC以项目工作区 的形式来组织文件、 项目和项目配置 创建新的空工作区步骤: (a) File->New->Workspaces-> 输入工作区名字并指定工作区目录 在工作区中添加项目: 用File->Open选项可打开已存在的项目;通过New对话框的Projects选项卡创建新的项目,并选择Add to current workspace复选框。 VC以项目工作区 的形式来组织文件、 项目和项目配置 37

项目工作区窗口简介 VC项目工作区由ClassView、ResourceView及FileView三个面板组成 38

联机帮助 VC帮助系统 主要提供五 个方面内容 VC Programmer`s Guide:VC程序员指南。 VC User`s Guide:VC用户指南。 VC Tutorials:VC教程。 MFC and Templates:微软基础类库和模板参考信息。 Languages and Libraries for VC:VC语言和库文件信息。 VC帮助系统 主要提供五 个方面内容 联机帮助 39

File->New->Project VC6.0使用实例1 File->New->Project

File->New->Files

CTRL+F7 编译 编译成功

生成工程 相关文件

F7 链接 链接成功

F5 运行

运行程序 F5 :继续运行 F10 : 单步,不进入子函数内部 F11 : 单步,进入子函数内部 CTRL+F10: 运行到当前光标处 SHIFT+F11:跳出当前所在函数 Shift F5: 结束调试

项目配置 Project settings对话框 General Debug C/C++ Link 项目类型 release

使用VC++6.0调试程序 调试环境的建立

调试环境的建立

常用的调试手段 设置断点 控制程序运行 查看:Variable,memory, Register,堆栈

设置断点

断点设置 用来设置 删除和 查看断点 位置断点 数据断点 消息断点 断点作用:中断程序的执行过程,以便检查程序代码、变量和寄存器值 60

在位置断点中还可以设置断点条件,此时必须先指定位置,然后再设置条件断点 位置断点通常在源代码 的指定行、函数的开始 或指定的内存地址处设 置,当程序执行到指定 位置时,位置断点将中 断程序的执行 数据断点是在变量 或表达式上设置, 当变量或表达式的 值改变时,数据断 点将中断程序的执行 消息断点是在窗口 函数WndProc上设 置,当接收到指定 的消息时,消息断 点将中断程序的执行 在位置断点中还可以设置断点条件,此时必须先指定位置,然后再设置条件断点 61

控制程序的运行 F5 :继续运行 F10 : 单步,不进入子函数内部 F11 : 单步,进入子函数内部 CTRL+F10: 运行到当前光标处 SHIFT+F11:跳出当前所在函数 Shift F5: 结束调试

调试工具栏

实例2 1:打开jiecheng项目 (双击jiecheng.dsw文件) 2:build该项目,确定程序可以运行 3:调试运行阶乘程序 4:设置断点 5:再次调试运行程序 6:使用单步执行程序到结束

1:打开jiecheng项目

2:Build该项目,确定程序可以运行

3:调试运行阶乘程序 Go

4:设置断点 将鼠标停留在程序的第8行,在第8行的任意地方单击鼠标左键(第8行即“i = i*4;”) 在工具栏上选择 按钮,为第8行设置断点,以便让程序在此处暂停运行

5:再次调试运行阶乘程序 注意观察,现在调试运行程序会如何? Go

5:再次调试运行阶乘程序(续) 程序暂停之处 调试(Debug)工具: 控制程序前进步伐 查看程序当前状态

6:使用单步执行到程序结束 设置断点以后,调试运行程序时,程序开始执行,并且运行到断点处暂停下来,此时我们有机会观察程序的运行情况,并且诊断程序目前的状态是否如我们所预期的那样。 不过我们先不着急观察程序的状态,而是来看看如何控制程序的运行,以便在我们需要的时候让程序暂停下来,并且以我们需要的方式走走停停!

6:使用单步执行到程序结束 程序停下来了,如何让程序从暂停的地方继续向前执行? 方法是使用单步执行手段(Step Over)让程序向前走一步 停止调试 停止调试并重新启动调试 单步执行 当前位置

熟悉调试工具栏和菜单 (只在调试运行时出现) 对比调试运行时出现的 调试菜单“Debug”和调试 工具栏,根据图标查找 对应项

观察变量的值及其随程序运行时的变化情况 设置断点,调试运行程序,此时程序暂停在断点处等待 选择Debug菜单,找到 最后一项“Quick Watch” 并点击

点击Add Watch 输入想要观察的变量 变量名 变量的值

点击Add watch,看到如下画面

调试观察每一步骤变量i的值 点击单步执行按钮或者菜单,程序则向前单独运行一个步骤 每向前执行一步,就会暂停下来,这样我们就有充足的时间观察所关心的变量名称 观察变量i的值的情况

注意在调试过程中 断点不能设置在空白行上面 添加断点和删除断点的方法一样 一个程序中可以设置多个断点 按下F5键可以让程序从当前位置向前执行,直到遇见下一个断点或者程序结束