IDebugAdvanced4::GetSymbolInformationWideEx 方法 (dbgeng.h)
GetSymbolInformationWideEx 方法返回有关符号的指定信息。
语法
HRESULT GetSymbolInformationWideEx(
[in] ULONG Which,
[in] ULONG64 Arg64,
[in] ULONG Arg32,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG InfoSize,
[out, optional] PWSTR StringBuffer,
[in] ULONG StringBufferSize,
[out, optional] PULONG StringSize,
[out, optional] PSYMBOL_INFO_EX pInfoEx
);
参数
[in] Which
指定要返回的信息片段。 哪些 可以采用下表中的值之一。
价值 | 返回的信息 |
---|---|
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE | 返回指定断点的源代码文件名和行号。 行号作为 ULONG 返回到 Buffer。 文件名将返回到 stringBuffer 。 |
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 |
返回描述指定模块的IMAGEHLP_MODULEW64结构。 有关此结构的详细信息,请参阅调试帮助库文档(dbghelp.chm)中的IMAGEHLP_MODULE64主题。
不返回任何字符串,StringBuffer、StringBufferSize,并且 StringSize 必须全部设置为零。 |
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE | 返回内存和 PDB 标记类型中的位置指定的符号的 Unicode 名称。 该名称将返回到 Buffer。 不使用 StringBuffer。 |
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS | 返回指定模块中具有指定 PDB 标记类型的符号名称和偏移量的列表。 偏移量作为 ULONG 值的数组返回,以 Buffer。 名称的返回顺序与 StringBuffer偏移量相同。 某些名称可能包含嵌入的零,因为批注可以具有多部分名称;因此,每个名称以两个 null 字符结尾。 |
[in] Arg64
指定 64 位参数。 此参数具有以下解释,具体取决于 的值:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
忽视。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
正在请求其说明的模块的基址。
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
指定目标内存中请求其名称的符号的地址。
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
指定请求其符号的模块。 Arg64 是模块内存分配中的一个位置。
[in] Arg32
指定 32 位参数。 此参数具有以下解释,具体取决于 的值:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
所需断点的引擎断点 ID。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
设置为零。
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
符号的 PDB 分类。 Arg32 必须是 Dbghelp.h 中定义的 SymTagEnum 枚举中的值之一。 有关详细信息,请参阅 PDB 文档。
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
符号的 PDB 分类。 Arg32 必须是 Dbghelp.h 中定义的 SymTagEnum 枚举中的值之一。 有关详细信息,请参阅 PDB 文档。
[out, optional] Buffer
接收请求的符号信息。 返回的数据的类型取决于 的值。 如果 缓冲区NULL,则不会返回此信息。
[in] BufferSize
指定缓冲区 缓冲区的大小(以字节为单位)。
[out, optional] InfoSize
如果此方法返回 S_OK,InfoSize 接收返回到 Buffer的符号信息的大小(以字节为单位)。 如果此方法返回 S_FALSE,则提供的缓冲区不够大,InfoSize 接收所需的缓冲区大小。 如果 InfoSizeNULL,则不会返回此信息。
[out, optional] StringBuffer
接收请求的字符串。 此字符串的解释取决于 的值。 如果 StringBufferNULL,则不会返回此信息。
[in] StringBufferSize
指定字符串缓冲区的大小(以字符为单位)StringBuffer。
[out, optional] StringSize
接收返回 StringBuffer的字符串的大小(以字符为单位)。 如果 StringSizeNULL,则不会返回此信息。
[out, optional] pInfoEx
指向 SYMBOL_INFO_EX 结构的指针。
返回值
此方法也可能返回错误值。 有关详细信息,请参阅 返回值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
|
该方法成功。 但是,信息将不适合缓冲区 缓冲区 或字符串不适合缓冲区 StringBuffer,因此信息或名称被截断。 |
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |