簡體   English   中英

拋出std :: exception使Visual Studio 2013 IDE崩潰

[英]Throwing std::exception crashes Visual Studio 2013 IDE

我剛剛向Microsoft提交了一個錯誤報告 ,在我的系統上引發了任何帶有std::exception或繼承該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

我剛剛創建了一個帶有預編譯頭的新C ++控制台應用程序,然后粘貼了您的代碼。 我無法重現該問題。 我可以在std::cerr <<上放置一個斷點,然后毫無問題地將其擊中。

您是否嘗試過重新安裝Visual Studio 2013? 我猜測您的安裝損壞或調試器配置錯誤。 確保刪除以前版本的Visual Studio。 即使它們並排工作,我以前也曾遇到本機調試問題。

確保已使用選項/EHsc啟用C ++異常處理。

這個周末,我對此漏洞進行了進一步調查。 首先,我卸載了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如何協同工作存在問題。

我一直在這個問題上停留了3天,直到發現問題出在try-catch塊中。 查看本文: http : //msdn.microsoft.com/zh-cn/library/0yd65esw.aspx ,我意識到了不留空白的重要性。 請卸下嘗試擋塊並進行檢查。

嗯,在Visual Studio 2013中以“ OnTaskChanged”方法開發簡單的順序工作流SharePoint 2013時,這個問題發生了。

我希望答案可以幫助其他人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM