将异常传递给应用程序

Pass exception to the application

在 Immunity Debugger 中,您可以使用 Shift+F7 将异常传递给应用程序。我如何在 Windbg 中执行此操作?按 g 不会执行任何操作。它只会重复错误消息。

在 WinDbg 中,您还有其他选择

gh(异常已处理)或gn(异常未处理)

它还区分了第一次机会异常和第二次机会异常。 第一次有机会,按 ggn 会将异常传递给程序。 如果程序不处理,还有第二次机会,在WinDbg中看起来几乎一样。

(3480.1bf0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.

CrashTest!CCrashTestDlg::OnButtonCrash+0x15:
00000001`400083f5 c70005000000    mov     dword ptr [rax],5         ds:00000000`00000000=????????
0:000> g
(3480.1bf0): Access violation - code c0000005 (!!! second chance !!!)
CrashTest!CCrashTestDlg::OnButtonCrash+0x15:
00000001`400083f5 c70005000000    mov     dword ptr [rax],5     ds:00000000`00000000=????????

更多信息:Controlling Exceptions and Events (MSDN)