2013-02-09 45 views
1

作爲論文的一部分,我正在開發客戶端/服務器應用程序,並選擇使用SocketAsyncEventArgs以獲得網絡操作方面的最大性能。今天下午,我決定對創建20個線程的應用程序進行快速骯髒的壓力測試,併爲每個線程發送100,000個UDP消息。臨近應用程序的最終以下異常:FatalExecutionEngineError在解除事件時檢測到

enter image description here

我如何去尋找異常的原因是什麼?或者任何機構有一個想法,爲什麼它在一個看似隨機的地方掉下來?

我可以重新生產大部分時間,我相信並且很樂意在必要時提供代碼。

更新:

我已經運行沒有錯誤的.NET版本4.0完全相同的代碼。據我所知,這似乎是.Net 4.5/Compliers/Jit的一個問題。任何想法如何縮小異常將不勝感激。

+0

[Troubleshooting .NET「致命執行引擎錯誤」](http://stackoverflow.com/questions/2823440/troubleshooting-net-fatal-execution-engine-error) – 2013-02-09 15:34:32

+0

我確實看到@HansPassant,但它每次都在與dup中顯示的錯誤代碼相同的地方。感謝您的鏈接 – 2013-02-09 15:45:17

+0

您是否檢查過您的應用程序是線程安全的? 也許你做了一些ipc,並沒有實現一個很好的回調方法......?! 請告訴我一些關於你的應用程序將如何清理線程的更多信息,線程之間應該傳達什麼,如果是這樣,你如何去做。 btw。你使用一些原生的(不安全的)代碼部分,或者一些COM部分(如activeX-lib)? greetz,me – 2013-02-09 19:35:17

回答

0

它只在調試時出現嗎?我曾見過類似的情況,只有在x86上調試x86(不是任何類型)時纔會出現這些錯誤。

+0

我會試着在沒有調試器等的情況下運行,然後發回我如何繼續,謝謝 – 2013-02-10 15:08:20

+0

我已經縮小到.Net 4.5的一個問題。代碼在.Net 4.0上運行良好 – 2013-02-12 03:10:35