由公共语言运行时 (CLR) 数据访问服务调用,以检索与目标进程关联的异常记录。 例如,对于转储目标,这等同于异常记录通过 ExceptionParam 参数传递到 Windows 调试帮助库 (DbgHelp) 中的 MiniDumpWriteDump 函数。
语法
HRESULT GetExceptionRecord(
[in] ULONG32 bufferSize,
[out] ULONG32* bufferUsed,
[out, size_is(bufferSize] BYTE* buffer
);
参数
bufferSize [in]输入缓冲区大小(以字节为单位)。 该值必须等同于 sizeof(MINIDUMP_EXCEPTION)。
bufferUsed [out]指向接收实际写入缓冲区的字节数的类型的指针 ULONG32 。
buffer [out]指向接收异常记录副本的内存缓冲区的指针。 异常记录以 MINIDUMP_EXCEPTION 类型返回。
返回值
如果成功,则返回值是 S_OK;如果失败,则返回失败 HRESULT 代码。 HRESULT 代码可以包括但不限于以下代码:
| 返回代码 | 说明 |
|---|---|
S_OK |
方法成功。 已将异常记录复制到输出缓冲区。 |
HRESULT_FROM_WIN32(ERROR_NOT_FOUND) |
没有与目标关联的异常记录。 |
HRESULT_FROM_WIN32(ERROR_BAD_LENGTH) |
输入缓冲区大小不等于 sizeof(MINIDUMP_EXCEPTION)。 |
备注
MINIDUMP_EXCEPTION 是在 Windows SDK 的 dbghelp.h 和 imagehlp.h 中定义的结构。
此方法由调试应用程序的编写器实现。
要求
平台:请参阅系统要求。
标头:ClrData.idl、ClrData.h
库:CorGuids.lib
.NET Framework 版本:自 2013 年 11 月更新至 4.5.1 之后可用