Поделиться через


Метод IDebugAdvanced3::GetSymbolInformation (dbgeng.h)

Метод GetSymbolInformation возвращает указанные сведения о символе.

Синтаксис

HRESULT GetSymbolInformation(
  [in]            ULONG   Which,
  [in]            ULONG64 Arg64,
  [in]            ULONG   Arg32,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize,
  [out, optional] PSTR    StringBuffer,
  [in]            ULONG   StringBufferSize,
  [out, optional] PULONG  StringSize
);

Параметры

[in] Which

Указывает часть возвращаемой информации. Что может принимать одно из значений в следующей таблице.

Ценность Возвращаемые сведения
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Возвращает имя файла исходного кода и номер строки для указанной точки останова. Номер строки возвращается в буфера в виде ULONG. Имя файла возвращается в StringBuffer.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Возвращает IMAGEHLP_MODULEW64 структуру, описывающую указанный модуль. Дополнительные сведения об этой структуре см. в разделе IMAGEHLP_MODULE64 документации по библиотеке справки отладки (dbghelp.chm).

Строка не возвращается и StringBuffer, StringBufferSizeи StringSize должны быть равны нулю.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Возвращает имя символа Юникода, указанного в расположении в памяти и типе тега PDB. Имя возвращается в буфера. StringBuffer не используется.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Возвращает список имен символов и смещения для символов в указанном модуле с указанным типом тега PDB. Смещения возвращаются в виде массива значений ULONG для буфера. Имена возвращаются в том же порядке, что и смещения для StringBuffer. Некоторые имена могут содержать внедренные нули, так как заметки могут иметь многокомпонентные имена; следовательно, каждое имя завершается двумя пустыми символами.

[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

Идентификатор точки останова двигателя требуемой точки останова.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Установите значение нулю.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Классификация PDB символа. Arg32 должно быть одним из значений перечисления SymTagEnum, определенного в Dbghelp.h. Дополнительные сведения см. в документации по PDB.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Классификация PDB символа. Arg32 должно быть одним из значений перечисления SymTagEnum, определенного в Dbghelp.h. Дополнительные сведения см. в документации по PDB.

[out, optional] Buffer

Получает запрошенные сведения о символах. Тип возвращаемых данных зависит от значения Который. Если буферnull, эти сведения не возвращаются.

[in] BufferSize

Указывает размер буфера буферав байтах.

[out, optional] InfoSize

Если этот метод возвращает S_OK, InfoSize получает размер в байтах сведений о символах, возвращаемых буфера. Если этот метод возвращает S_FALSE, предоставленный буфер недостаточно велик, а InfoSize получает требуемый размер буфера. Если InfoSizeNULL, эти сведения не возвращаются.

[out, optional] StringBuffer

Получает запрошенную строку. Интерпретация этой строки зависит от значения ,. Если StringBuffernull, эти сведения не возвращаются.

[in] StringBufferSize

Задает размер в символах буфера строки StringBuffer.

[out, optional] StringSize

Получает размер в символах строки, возвращаемой StringBuffer. Если StringSizeзначение NULL, эти сведения не возвращаются.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.

Возвращаемый код Описание
S_OK
Метод был успешным.
S_FALSE
Метод был успешным. Однако информация не будет помещаться в буфер буфер или строка не будет помещаться в буфер StringBuffer, поэтому информация или имя усечены.

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)