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中文网其他相关文章!