Microsoft Visual C++ 6.0 基本调试说明.doc
文本预览下载声明
Microsoft Visual C++ 6.0 基本调试说明
在编写较长的程序时,能够一次成功而不含有任何错误决非易事,这需要进行长期大量的练习。编写的程序若已没有编译错误,可以成功运行。对于程序中的错误,VC 提供了易用且有效的调试手段。其中,单步跟踪进入子函数(Step Into,F11),每按一次F11键,程序执行一条无法再进行分解的程序行;单步跟踪跳过子函数(Step Over,F10),每一次F10键,程序执行一行;Watch 窗口可以显示变量名及其当前值,在单步执行的过程中,可以在Watch 窗口中加入所需观察的变量,辅助加以进行监视,随时了解变量当前的情况;同时,为方便较大规模程序的跟踪,可以设置断点(F9为快捷键),断点处所在的程序行的左侧会出现一个红色圆点。选择Build | StartDebug | Go 时,程序执行到断点处程序将暂停执行,可方便用户进行变量观察。取消断点只需在代码处再次按F9即可。还有运行至前函数的末尾(Step Out)等都是很有效的调试工具。
步骤:1:右击工作栏,选择“调试”出现调试工具栏,如下图
2:选择Step Over,开始调试程序。如图1-11.
2:按Step Over(或者F11)执行单步运行。
3:当执行到某个函数后,选择Step Into,进入该函数内部,如下图所示:
(!):执行到函数setpoint();
(2):选择Step Into,进入函数内部
4:当执行到某个函数,然后执行Step over,则跳过该函数继续往下执行
(!):执行到函数setpoint();
(2):执行Step Over,跳过函数setpoint(),执行函数showpoint()。
5:当进入某个函数后,执行Step Out,则跳出该函数。
(!):进入函数setpoint()内部
(2):执行Step Out,,则跳出函数setpoint()。
6:Run to Cursor :运行至光标所在行暂停。
把光标停在函数showpoint()前面,执行Run to Cursor
7:通过界面下方的窗口,可以查看变量的值。
(!):当未对变量赋值时,变量x,y 为默认的初始值-858993460
(2):当执行完x=1;后,变量x 的值变为1
8:断点运行
设在函数setpoint()第一行设置一个断点,如下图:
选择全速运行(F5),则程序运行到断点处,如下图:
9:选择Stop Debugging 停止调试。
本说明使用的代码:
#includeiostream.h
class Point
{
private:
int x,y;
public:
void setpoint();
void showpoint();
};
void Point::setpoint()
{
x=1;
y=2;
}
void Point::showpoint()
{
coutx=xendly=yendl;
}
void main()
{
Point one;
one.setpoint();
one.showpoint();
}
ps:
断点调试可参考《C++程序设计实践教程》(第2版)实验一的相关内容。
在编程过程中,力图使代码逻辑合理,条理清晰,必要的注释和提示文字必不可少;尽量使用预编译和多文件结构,参考《C++程序设计》(第2版)3.9和3.10节相应内容及《高质量C++编程指南》(林锐著),规范编程格式和编程习惯,包括换行、空格等;多使用C++的调试功能,上机和看书要结合进行;多与老师、助教、同学交流。
推荐文件结构:
.h:本工程需要的头文件、类的声明、函数声明、全局变量等,包括相应的预编译部分;
.cpp1:函数和类等的具体定义等;
.cpp2:测试。
如下周一要上传的作业,建议文件结构:
//Cstring.h本工程的头文件
#ifndef CSTRING_H
#define CSTRING_H
#include iostream
using namespace std;
int strlen1(const char *s); //求字符串长度的函数,返回串长(不包括串结束符)
char *strcat1(char *s,const char *ct); //将串ct接到串s的后面,形成一个长串
char *reverse (char *); //反置字符串s,即可将break成为kaerb
char *strchr( const char *cs, char c); //查找字符c在串cs中第一次出现的位置,返回指向该字符的指针,若没有出现则返回NULL
char *strstr (const char *cs1,const char *cs2); //返回串cs2作为子串在cs1中第一次
显示全部