VISUAL C++ 调试指南
学会使用一个新的编译器的很重要的一步是学会如何使用源代码的调试功能。
Visual C++的调试功能是从早期的调试工具CodeBase发展而成,这个名叫CodeBase调试工具研究成为一种工业标准。
C++的错误大体可以分为两类,一类是编译器和连接器可以发现的语法错误,比如拼写错误和参数设置错误;但是在没有语法错误的情况下,也可能会发生让程序无法正确运行的逻辑错误。我们把这种错误叫做BUG。VISUAL C++的有如下两个基本调试功能:找出BUG发生的地方和分析如何修改BUG。该调试工具允许你每次只执行一行程序代码,这样你可以更方便地找到BUG发生的地方。
VISUAL C++ 调试工具具有如下几个特征:
- 设置断点 跟踪程序段的执行
- 进入函数调用或跳过函数调用
- 设置监视窗口观察变量和表达式
你可以在需要设置断点 的程序行上用鼠标左键单击insert/remove breakpoint设置或移除断点 。设置断点 后,该行的左侧空白处将出现红色的小圆点,这是断点 的标志。在你点击移除之前,这个断点 将永远存在。你可以在EDIT->BREAKPOINT下查看现在设置的所有断点 的位置。当程序设置断点 后可以有两种操作方法。第一,你可以进入一个函数并执行它的下一条命令,第二,你可以按F10键跳过这个函数,按F11可以让调试工具指向函数的第一行。同样的,Visual C++调试器可以设置条件断点 。
监视窗口 可以显示变量,对象和表达式在程序执行过程中值的变化情况。监视窗口中,你还可以单击左边的“+”号打开对象的数据成员。这样你可以观察变量在窗口中的变化情况。另外,监视窗口也可以用来查看寄存器和编译器在编译程序时产生的代码。
快捷监视窗口提供程序执行过程中变量和表达式的快捷查看。在编辑窗口中右键单击对象名称可以选择快捷监视。
Visual C++调试器提供了一种不用监视窗口而查看变量值的方法,把鼠标悬停在变量上面,0.5秒后变量的值将会显示出来。
Edit and Continue功能允许在调试过程中一边调试(即不退出调试)一边对程序进行修改。DEBUG->APPLY CODE CHANGES可以选择个功能。运用这个功能时候程序会在内存中重编译和做修改。
Visual C++可以设置打开或关闭调试信息。可以在如下位置打开调试信息报告BUILD->SET ACTIVE CONFIGURATION-> 选择Debugging.
一个调试实例
新建一个工程,并输入如下代码
#include <iostream.h>
#include <conio.h>
//Returns the factorial of n
int Factorial(int n) {
//Loop variable
int i;
int Result;
//Initialize the result
Result = n;
//Now multiply by 1 .. n
for (i = 0; i < n; i++)
Result *= i;
return Result;
}
void main() {
int n;
//Get a value
cout << "What value?";
cin >> n;
//Print the factorial
cout << Factorial(n) << endl;
操作步骤
1 执行程序,观察输入和输出情况
2 在编辑窗口中编辑程序,并在main()函数的第二个cout处设置一个断点 。
3 在监视窗口中设置监视变量n
4 调试进入函数Factorial()
5 在快捷监视窗口中监视变量Result
6 分析错误
7 把光标移动到错误的行并作出更正。
8 选择DEGUG->STOP DEBUGGING.停止调试
9 单击BUILD命令组建修改后的程序。
10 对程序做适当改变使其结果变化,并运行程序使这些改变实现。具体操作方法为选择DEBUG->APPLY CODE CHANGES。然后在作改变的行单击右键,并在弹出菜单中选择SET NEXT STATEMENT。
11 选择菜单中的GO按钮。
12 移除所有的断点 并重新运行程序。
13 参阅网上的调试工具相关文章并把相关特征写在下面。