1

我刚刚向 Microsoft 提交了一份错误报告,在我的系统上抛出任何异常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

4 回答 4

1

我刚刚创建了一个带有预编译头的新 C++ 控制台应用程序,然后粘贴了您的代码。我无法重现该问题。我能够放置一个断点std::cerr <<并毫无错误地击中它。

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

于 2013-11-01T20:59:07.280 回答
0

确保您已使用 option 启用 C++ 异常处理/EHsc

于 2013-11-01T20:51:45.623 回答
0

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

于 2013-11-03T18:32:55.233 回答
0

我已经被这个问题困住了 3 天,直到我发现问题出在 try-catch 块中。查看这篇文章: http: //msdn.microsoft.com/en-us/library/0yd65esw.aspx,我意识到不要让“捕获”为空的重要性。请移除 try catch 块并检查。

好吧,在 Visual Studio 2013 中使用“OnTaskChanged”方法开发简单的顺序工作流 SharePoint 2013 时,我遇到了这个问题。

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

于 2015-01-12T23:22:16.010 回答