Метод 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, эти сведения не возвращаются.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
Возвращаемый код | Описание |
---|---|
|
Метод был успешным. |
|
Метод был успешным. Однако информация не будет помещаться в буфер буфер или строка не будет помещаться в буфер StringBuffer, поэтому информация или имя усечены. |
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | dbgeng.h (include Dbgeng.h) |