关于调试
调试是VS2015很强大的一项功能,它可以帮我们找到程序中的很多错误,那么,就请跟我一起来了解VS2015的调试吧!
程序出错了!
我们从一个特别简单的例子开始说明。
假设程序在Ctrl+F5运行之后,出现了下面这样的情况:
我经常出现这种情况,也特别讨厌这种情况(你呢?),但是有问题就要解决,用调试来找到错误的根源。
开始调试
先贴出我的测试代码:
#include <iostream>
using namespace std;
class Example
{
public:
Example();
~Example();
int example;
private:
};
Example::Example()
{
}
Example::~Example()
{
}
int main()
{
Example *example=NULL;
if (example->example)
{
cout << "不会到这里来的" << endl;
}
system("pause");
return 0;
}
其实错误一眼就可以看出来,但是我们还是要调试找到它。
1. 设置断点:设置断点是为了方便调试,在你认为可能出错的地方下断点
,关于如何设置断点,请往下看;
2. 开始调试:按F10,或者点击菜单栏的调试–>逐过程:
这时,VS2015会定位到项目的主函数(即入口):
接着按F10调试,现在的情况是这样的:
此时example的值是NULL,但是if语句却还是使用了类型为Example的指针变量example的一个成员example!!!!这显然是非法的,怎么能使用一个空的变量的成员?!!
继续按F10,你会发现,弹出了一个窗口:
OK,我们找到了错误之所在,你看看代码,仔细想想就会发现这里的问题了–example变量未初始化!!!
3. 完毕:调试完了,改错完毕。
总结
VS2015的调试功能太过强大,这里我们只是用了一点点的东西。可以做的还有很多!