IDebugSymbols::GetOffsetByName 方法 (dbgeng.h)
GetOffsetByName 方法返回按名称标识的符号的位置。
语法
HRESULT GetOffsetByName(
[in] PCSTR Symbol,
[out] PULONG64 Offset
);
参数
[in] Symbol
指定要查找的符号的名称。 该名称可能由模块名称限定(例如,mymodule!main)。
[out] Offset
接收符号内存分配基数的目标内存地址空间中的位置。
返回值
此方法还可以返回其他错误值。 有关详细信息,请参阅 返回值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
|
该方法成功。 但是,名称 符号 不是唯一的,并且找到了具有该名称的多个符号。 其中一个符号是任意选择和返回的。 |
|
找不到具有指定名称的符号。 |
言论
如果名称 符号 不唯一,并且 GetOffsetByName 找到具有该名称的多个符号,则不明确性将任意解析。 在这种情况下,将返回S_FALSE的值。 StartSymbolMatch 可用于启动搜索以确定所需的结果。
GetNameByOffset 不支持模式匹配(例如通配符)。 若要使用模式匹配查找符号,请使用 StartSymbolMatch。
如果符号的模块名称已知,最好是使用模块名称限定符号名称。 否则,引擎将搜索所有模块的符号,直到找到匹配项;如果必须加载大量模块的符号文件,这可能需要很长时间。 如果符号名称使用模块名称进行限定,则引擎仅搜索该模块的符号。
有关符号和符号名称的详细信息,请参阅 符号。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |