Метод IDebugSymbols3::GetSourceEntriesByLineWide (dbgeng.h)

Метод GetSourceEntriesByLineWide запрашивает сведения о символах и возвращает расположения в памяти целевого объекта, соответствующие строкам в исходном файле.

Синтаксис

HRESULT GetSourceEntriesByLineWide(
  [in]            ULONG                      Line,
  [in]            PCWSTR                     File,
  [in]            ULONG                      Flags,
  [out, optional] PDEBUG_SYMBOL_SOURCE_ENTRY Entries,
  [in]            ULONG                      EntriesCount,
  [out, optional] PULONG                     EntriesAvail
);

Параметры

[in] Line

Указывает строку в исходном файле, для которой выполняется запрос. Номер первой строки — 1.

[in] File

Указывает исходный файл. Для этого файла запрашиваются символы для каждого модуля в целевом объекте.

[in] Flags

Задает битовые флаги, управляющие поведением этого метода. Флаги могут быть любым сочетанием значений из следующей таблицы.

Значение Описание
DEBUG_GSEL_NO_SYMBOL_LOADS Отладчик будет искать файл только среди модулей, символы которых уже загружены. Символы для других модулей не загружаются.

Если этот параметр не задан, подсистема отладчика будет загружать символы для всех модулей, пока не найдет файл, указанный в разделе Файл.

DEBUG_GSEL_ALLOW_LOWER Включите все строки в файле перед строкой в результат.
DEBUG_GSEL_ALLOW_HIGHER Включите все строки в файл после строки в результат.
DEBUG_GSEL_NEAREST_ONLY Возвращается только один результат. Если заданы DEBUG_GSEL_ALLOW_LOWER или DEBUG_GSEL_ALLOW_HIGHER, возвращается результат для строки, близкой к строке, но не может быть строкой , если для этой строки нет сведений о символах.
 

Чтобы использовать набор флагов по умолчанию, задайте для параметра Флаги значение DEBUG_GSEL_DEFAULT. Все флаги в предыдущей таблице отключены.

[out, optional] Entries

Получает расположения в памяти целевого объекта, соответствующие запрашиваемой исходной строке. Каждая запись в этом массиве имеет тип DEBUG_SYMBOL_SOURCE_ENTRY и содержит номер строки источника вместе с расположением в памяти целевого объекта.

[in] EntriesCount

Указывает количество записей в массиве Entries .

[out, optional] EntriesAvail

Получает количество расположений, соответствующих запросу, найденным в памяти целевого объекта.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
S_FALSE
Метод выполнен успешно. Однако массив Entries не был достаточно большим, чтобы вместить все результаты, соответствующие запросу, и дополнительные результаты были удалены.
E_NOINTERFACE
Запрос не дал результатов. Сюда входит случай, когда сведения о символах были недоступны для указанного файла.

Комментарии

Эти методы могут использоваться приложениями-отладчиками для получения расположений в памяти целевого объекта для задания точек останова или сопоставления исходного кода с дизассемблированными инструкциями. Например, установка флагов DEBUG_GSEL_ALLOW_HIGHER и DEBUG_GSEL_NEAREST_ONLY вернет расположение целевой памяти для первого фрагмента кода, начиная с указанной строки.

Дополнительные сведения об исходных файлах см. в разделе Использование исходных файлов.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

DEBUG_SYMBOL_SOURCE_ENTRY

GetSourceFileLineOffsets

IDebugSymbols3