我正在开发一个我尚未创建的大型C ++项目,但以下简短代码完全代表了我面临的一个问题:
#include <string>
#include <iostream>
int main(int argc, char **argv){
using namespace std;
try{
string str;
str = "r";
double d = stod(str);
cout << "'stod' worked! d = " << d << endl;
}
catch (invalid_argument){
cout << "I'm in 'catch'\n";
}
cout << "I'm after 'try-catch'\n";
cin.get();
cin.get();
return 0;
}
如果我在没有调试器的情况下启动代码,一切正常,并且按预期进入catch-scope,然后main()继续。
如果我使用调试器,32位配置下的Visual Studio会立即重启或在64位配置下重新启动,我会收到一条消息:&#34;调试器的工作进程(msvsmon.exe)意外退出。调试将被中止。&#34;
我在Windows 8.1 Professional上使用VS2013 Ultimate。
由于这篇文章: msvsmon.exe crashed when debugging 我已经安装了Update 4.我没有断点。在DEBUG-&gt; EXCEPTIONS中,重置已完成。
我也不明白,msvsmon.exe是什么。谷歌搜索将它与远程调试器相结合,这让我感到困惑,因为我使用的是本地调试器,至少我每次都按下本地Windows调试器&#39;按钮。
有人可以帮助我吗?