抛出std :: exception会导致Visual Studio 2013 IDE崩溃

时间:2013-11-01 20:48:10

标签: c++ visual-studio-2013

我刚刚向Microsoft提交了bug report,在我的系统上抛出了std::exception的任何异常,或者那些继承它的人崩溃了Visual Studio 2013 IDE。有没有其他人看到这个问题,或者是我的系统上的怪癖启用了这个错误?我还可以提一下,我在同一系统上的Visual Studio 2012没有这样的问题。

以下极简主义示例导致我的Visual Studio 2013 IDE崩溃:

#include "stdafx.h"
#include <stdexcept>
#include <iostream>

int _tmain(int argc, _TCHAR* argv [])
{
    try
    {
        throw std::exception("Crashtest");
    }
    catch (...)
    {
        std::cerr << "Error" << std::endl; // never reached
    }

    return 0; // never reached
}

任何人都有一个解决方案的建议,直到他们解决了这个问题,这一点非常讨厌。

更新

英特尔已在此处发布了此错误的解决方法:

http://software.intel.com/en-us/forums/topic/494680

4 个答案:

答案 0 :(得分:1)

我刚创建了一个带有预编译头的新C ++ Console应用程序,然后粘贴了您的代码。我无法重现这个问题。我能够在std::cerr <<上放置一个断点并且无故障地击中它。

您是否尝试过重新安装Visual Studio 2013?我猜你有一个损坏的安装或配置错误的调试器。确保删除以前版本的Visual Studio。即使它们并排工作,我也看到过以前在本机调试中遇到的问题。

答案 1 :(得分:0)

确保已使用选项/EHsc启用了C ++异常处理。

答案 2 :(得分:0)

本周末我对这个bug做了一些进一步的调查。首先,我卸载了Windows 7并升级到Windows 8.1 Enterprise(64位)。然后我安装了Visual Studio Ultimate 2013(v12.0.21005 REL)。我运行下面的程序没有任何问题,我认为我已经解决了问题。但是,当我安装英特尔C ++ Studio XE 2013(包含更新1的SP1)时,错误又回来了。所以(至少在我的系统上)似乎是Visual Studio 2013和英特尔C ++ Studio 2013如何协同工作的一个问题。

答案 3 :(得分:0)

我已经陷入这个问题3天,直到我发现问题出现在try-catch块中。查看这篇文章:http://msdn.microsoft.com/en-us/library/0yd65esw.aspx,我意识到不要离开&#34; catch&#34;空。请删除try catch块并检查。

嗯,在Visual Studio 2013中开发一个简单的顺序工作流SharePoint 2013时,我遇到了这个问题。&#34; OnTaskChanged&#34;方法

我希望答案可以帮助别人。

相关问题