Visual Studio 调试启动时会卡几十秒钟

Visual Studio 调试启动时会卡几十秒钟

作者:BlogUpdater |  时间:2022-09-24 |  浏览:380 |  评论已关闭 条评论

今天在鼓捣 Topomel Box 的时候,发现这么一个问题:工程启动调试后,VS会彻底无响应,时间会持续大概半分钟左右,然后才会开始正常的调试。
我是百思不得其解。
经过测试发现,其他DLL工程都可以正常调试,就是主程序工程有这个问题。说明问题出现在这个工程里。

因为调试时我经常需要用的,每次耽搁这么半分钟,那可太不方便了。叔可忍婶不可忍。
其他的工作项不得不先停一停,得专心研究这个问题。

继续研究,经过不断试错,终于有了些眉目。

解决方法
有如下两个思路可以解决上述问题。
1) 调试断点下在头文件里定义的静态函数体中,会导致此问题。所以,定义静态函数还是需要谨慎。
绕开方法就比较简单,将函数实现移动到CPP文件里,头文件只声明下函数原型即可。

2) 将Visual Studio 的调试选项中的”要求和源码匹配”这个选项勾上,如下图所示:

此选项默认是勾选上的,我因为贪图方便就把它给关了。看来,一切事物都是有原因的。

我使用上述第一种方法,看起来都还挺正常,有待进一步观察。
看来,这往后 static 是不能随便用了。对事物缺乏足够的了解,就贸然使用,我已尝到苦果子了。

总结
首先,对于大型工程,每一步改动都需要小心谨慎。你需要记得,这个时候,你不是在写类似于 Hello World 之类的玩具程序了,得花费 120% 的精力把事情做好做细。
另外,提交代码的时候,最好能写一些注释,这样以后查看历史记录,也能弄明白当时的改动的具体细节信息。
最后,致年轻的自己:改动的步子,不要迈的太大,容易扯着蛋。

标签:

评论已关闭。