2013-10-01 62 views
0

有問題的應用程序使用本機代碼和託管代碼。託管代碼只提供UI層,而它與執行大量操作的本地dll鏈接。本地dll與其他一些靜態dll鏈接。現在的問題是,當我運行應用程序時,它會非確定性地崩潰。當我在託管代碼調試下調試應用程序時,它顯示本地代碼中的某個特定函數拋出了「SEH」異常。堆棧跟蹤只顯示當前的功能。我在SEH異常中獲得的錯誤代碼是EFAIL。 但是,每次在本地調試器下,該應用都能正常運行。拋出SEH異常的函數是單線程的。它不使用任何其他線程可以訪問的資源。這種行爲可能是什麼原因造成的?我應該如何去檢測本機代碼中異常的來源。在調試器下進行加入並不會有幫助,因爲當應用程序在調試器下運行時,問題不會顯示出來。WP 8應用程序在純模式調試(發佈模式)下運行良好,但在沒有調試器的情況下崩潰

我正在使用visual studio 2012.

回答

0

您使用的是DirectX嗎? 當DeviceContext同時使用多個線程 時會發生SEH異常,因爲DeviceContext不是線程安全的。

相關問題