无声例外,
我在64位遇到了这个奇怪的静默异常问题。
这是什么造成这种行为?
我想了解为什么会出现这种情况以及推荐的解决方案是什么?
消失的OnLoad异常
微软 - 无声的例外
KB976038
主要:
try
{
Application.Run(new Form1());
}
catch
(Exception ex)
{
MessageBox.Show("Error");
}
private void Form1_Load(object sender, EventArgs e)
{
throw new Exception("oh no!");
}
没有找到相关结果
已邀请:
1 个回复
貉骂
方法的消息来回调你的代码。如果在该方法中引发异常,则异常处理机制将调用堆栈移回内核模式边界。 在x86上,异常可以通过此边界并返回到原始调用者。在x64上,当它到达边界时停止并且无法继续。在XP64和Vista中,异常被吞下(被忽略),而一个64位的应用程序与一个说明它是Win7兼容的清单会在发生这种情况时崩溃。要在64位Win7上获取其他操作系统或32位应用程序的崩溃行为,请参阅KB976038。 对于在x64上作为内核模式回调而调用的任何事件处理程序,都会发生此行为。