<p style="margin-bottom: 3px;font-size: 18px;font-weight: bold">本文目录一览:</p><ul><li style='margin-bottom: 3px;list-style: none'>
讯享网
1、VS2013里想要单步调试C++代码,可每次都要重新先全部编译?
您好,你目前的bug属于语法类的错误,所以编译不能成功,在编译窗口中,会显示错误所在的位置以及bug的类型,直接改。在编译成功后,你的程序有可能还有逻辑错误,比如循环条件不对,以至于得不到希望中的结果,在这种时候,才会用到单步调试功能,用来查找逻辑方面的错误。
所以对于你目前的问题,处理方法是查看编译窗口信息,修改语法类错误,待编译成功,查看结果是否符合希望的功能效果,然后使用单步调试功能
我改了一下你的程序,现在可以成功编译了
#includestring
using namespace std;
struct Test
{
Test(int){}
void fun(){}
};
int main()
{
Test a(1);
a.fun();
Test b(2);
b.fun();
getchar();
return 0;
}
类的构造体一般只能有一个,不要和方法的重载搞混了

在代码左边的5毫米宽的竖条那里点左键就能加入断点。再点一下可以消去断点。
运行到哪里程序就会停下来。
F5是执行到下一个断点,F10是执行一行语句,F11也是执行一行但是是递归调试所调用的函数。
watch窗口可以看变量。
Break窗口可以设置、删除断点。
有时候汇编的写法生成的调试符号跟源文件对应会有一些出入,导致调试有些断点失效,这种情况下我个人调试的时候,使用F10或者F11启动程序,这样就可以精确停止在每一行代码上了。另外可以结合反汇编代码进行调试
F10是在当前的函数执行过程中进行单步调试。不会进入到执行函数的内部进行更加详细的调试过程。
F11是需要进入到当前执行函数的内部,进行更加详细的调试的过程。
例如单步调试如下代码。
funcA(10);
funcB(10);
如果使用F10进行调试,那么点击F10之后,调试内容会从funcA直接跳转到funcB。而不会去关注funcA内部是如何执行的。
如果使用F11进行调试,那么点击F11之后,调试程序会进入到funcA函数中,从funcA内部继续执行单步调试。
综上,F10是仅仅基于当前所见函数进行的单步调试,不会进入到函数更深处进行。
而F11会进入到每一个可以调试的函数中进行调试,调试的范围更加深。
当你进行设置好断点,进行代码调试的时候,菜单栏中会增加一个调试菜单。
调试菜单-窗口:
其中,自动窗口自动显示当前范围内的可见变量的值;局部窗口中显示当前函数的局部变量的值;监视窗口中,单击右键,可以添加你想要监视的变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146544.html