RaiseFailFastException 函数 (errhandlingapi.h)

引发一个异常,该异常绕过所有异常处理程序 (基于帧或矢量的) 。 如果启用了Windows 错误报告,引发此异常将终止应用程序并调用Windows 错误报告。

语法

void RaiseFailFastException(
  [in, optional] PEXCEPTION_RECORD pExceptionRecord,
  [in, optional] PCONTEXT          pContextRecord,
  [in]           DWORD             dwFlags
);

参数

[in, optional] pExceptionRecord

指向包含异常信息的 EXCEPTION_RECORD 结构的指针。 必须指定 ExceptionAddressExceptionCode 成员。

如果此参数为 NULL,则该函数将创建异常记录并将 ExceptionCode 成员设置为STATUS_FAIL_FAST_EXCEPTION。 如果 dwFlags 参数包含 FAIL_FAST_GENERATE_EXCEPTION_ADDRESS 标志,函数还将设置 ExceptionAddress 成员。

[in, optional] pContextRecord

指向包含上下文信息的 CONTEXT 结构的指针。 如果 为 NULL,则此函数生成上下文 (,但上下文不会与调用方) 的上下文完全匹配。

[in] dwFlags

可以指定零个或以下标志来控制此函数的行为:

含义
FAIL_FAST_GENERATE_EXCEPTION_ADDRESS
0x1
导致 RaiseFailFastExceptionEXCEPTION_RECORDExceptionAddress 设置为此函数的返回地址, (调用方在调用 RaiseFailFastException) 之后的下一个指令。 仅当 ExceptionAddress 不为 NULL 时,此函数才会设置异常地址。

返回值

备注

通常,如果应用程序处于错误状态,并且希望立即终止应用程序并创建 Windows 错误报告,则调用此函数。

如果 WER 服务已禁用或无法启动,或者没有调试器附加到进程,则进程将终止。

此函数引发第二次机会异常。 如果启用了 JIT 调试,调试器将附加到进程。

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 errhandlingapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

Environment.FailFast