分享
 
 
 

Visual C++调试指南

王朝vc·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

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 参阅网上的调试工具相关文章并把相关特征写在下面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有