截至今日,我無法再使用Visual Studio調試任何C#代碼。如果我使用調試器,可以觸發斷點,但只要執行暫停,麻煩就開始了。按下「步入」或「繼續」通常會生成一個AccessViolationException
,表示內存已損壞並終止當前請求。如果我然後再運行一個Web請求,我將獲得一個SEHException
(發生在未知模塊中)。Visual Studio無法使用調試器(AccessViolationException)。以隨機順序執行的代碼
它更奇怪,因爲如果AccessViolationException不觸發,顯示下一個語句的程序計數器會隨機跳轉。然後代碼以隨機順序執行! (直到它崩潰)。
如果沒有觸發斷點,那麼應用程序將以調試模式運行(即使調試器已連接)。
我相信這不是代碼問題。其實我可以有一個新項目,下面的代碼重現訪問衝突:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world");
Console.WriteLine("Access violation"); // This will throw if breakpoint set
}
}
有VS緩存刪除,刪除名爲.suo,清洗,嘗試安全模式。一個可能的嫌疑是這是在Windows 10預覽機器上,並且上週有更新。我不確定還有什麼地方可以確認它,或者在沒有重新成像機器的情況下修復它。
這裏幾件事ü可以做 - 首先嚐試啓用打破例外,第二個嘗試改變從「任何目標平臺CPU'到'x86',第三 - 檢查這個鏈接http://stackoverflow.com/questions/3469368/how-to-handle-accessviolationexception – HappyLee 2015-03-30 21:24:35
不幸的是沒有喜悅。我的直覺是,這是一個VS問題,而不是代碼問題。 – AndySavage 2015-03-31 00:44:07
我也遇到了這個問題,然後我將目標平臺形式'Any CPU'改爲'X64',這對我很有用。 – 2015-03-31 03:16:37