VS2013里想要单步调试C++代码,可每次都要重新先全部编译?

如题:使用VS2013,代码本身是有错误的,想使用调试功能进行每一行调试,查看错误位置,但是每次都先把整个程序全部编译一次,这样程序出错,就不能进入调试状态,那调试还有什么用?
怎么设置不编译就可以调试,调试的目的就是为了查看错误,总是编译!!!!!!!很苦恼,编译不通过就无法调试!!!
代码如下:
#include <iostream>
using namespace std;
struct Test
{
Test(){}
Test(int){}
void fun(){}
};
int main()
{
Test a(1);
a.fun();
Test b();//有错误 应该为b
b.fun();
getchar();
return 0;
}
急急急!!

您好,你目前的bug属于语法类的错误,所以编译不能成功,在编译窗口中,会显示错误所在的位置以及bug的类型,直接改。在编译成功后,你的程序有可能还有逻辑错误,比如循环条件不对,以至于得不到希望中的结果,在这种时候,才会用到单步调试功能,用来查找逻辑方面的错误。

所以对于你目前的问题,处理方法是查看编译窗口信息,修改语法类错误,待编译成功,查看结果是否符合希望的功能效果,然后使用单步调试功能


我改了一下你的程序,现在可以成功编译了

#include<string>
using namespace std;
struct Test
{
Test(int){}
void fun(){}
};
int main()
{
Test a(1);
a.fun();
Test b(2);
b.fun();
getchar();
return 0;
}

类的构造体一般只能有一个,不要和方法的重载搞混了

追问

你的意思是:如果是语法错误的话,就不能使用调试功能?我调试的目的就是要找出错误,虽然这个出错的信息也可以看出来哪里错了,如果我在这条错误语句之前设置断点,进行调试,也不能进入调试状态吗?

追答

语法错误,都会显示在编译信息窗口中,不能使用调试功能。
调试的目的是找出逻辑错误,而不是语法错误。调试功能必须在编译成功后才能使用。
因为这个功能需要编译成功后的动态库文件。编译不成功,没有dll文件,就用不了这个功能,无法进入调试状态。

程序给你改了,你复制编译进入调试即可。

如果对您有所帮助,请采纳~

温馨提示:答案为网友推荐,仅供参考
相似回答