Visual Studio 2010:一個64位Windows Winforms異常處理Enigma
>在Visual Studio 2010中出現了一個奇怪的問題:在64位窗口上運行的Winforms應用程序中的例外通常會靜靜地消失。 該應用程序繼續執行,沒有預期錯誤消息或調試器中斷。
>>>>理解根本原因>
此行為鏈接到Windows的“ WOW64”層,該層模擬了64位系統上的32位代碼。 當64位窗口管理器觸發事件(例如事件)時,WOW64攔截了32位進程的代碼。 該截獲的代碼中未經處理的例外被掩蓋,從而阻止了調試器捕獲它們。 Load
解決方案和解決方案
幾種策略可以解決此問題:
>
>
>加載事件異常處理:將代碼包裝在塊中的事件處理程序中。 在>塊中,終止應用程序以確保注意到例外。
Load
try-catch
catch
全局異常處理:
>事件的有效性。 >
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
Main()
ThreadException
>事件處理程序評論:
>>操作系統升級:升級到Windows 8或更高版本,經常解決與WOW64相關的問題。 Load
以上是為什麼在64位Windows上的Visual Studio 2010 Winforms應用程序中的未手持異常似乎消失了?的詳細內容。更多資訊請關注PHP中文網其他相關文章!