ICorDebugModule3::CreateReaderForInMemorySymbols 方法
为动态模块创建调试符号读取器。
语法
HRESULT CreateReaderForInMemorySymbols (
[in] REFIID riid,
[out][iid_is(riid)] void ** ppObj
参数
riid
[in] 要返回的 COM 接口的 IID。 通常,这是一个 ISymUnmanagedReader 接口。
ppObj
[out] 指向返回接口的指针。
返回值
S_OK
已成功创建读取器。
CORDBG_E_MODULE_LOADED_FROM_DISK
该模块不是内存中模块或动态模块。
CORDBG_E_SYMBOLS_NOT_AVAILABLE
符号尚未由应用程序提供或尚不可用。
E_FAIL(或其他 E_ 返回代码)
无法创建读取器。
备注
此方法还可用于为内存中(非动态)模块创建符号读取器对象,但仅在符号首次可用之后(由 UpdateModuleSymbols 方法回调指示)适用。
每次调用此方法时都会返回一个新读取器实例(如 CComPtrBase::CoCreateInstance)。 因此,调试程序应缓存结果并仅在基础数据可能已更改时(即收到 LoadClass Method 回调时)请求新实例。
加载第一个类型(如 LoadClass Method 回调所示)之前,动态模块都没有任何可用符号。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET framework 版本:4.5、4、3.5 SP1
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈