Метод IDebugSymbols3::GetSourceEntriesByLine (dbgeng.h)
Метод GetSourceEntriesByLine запрашивает сведения о символах и возвращает расположения в памяти целевого объекта, соответствующие строкам в исходном файле.
Синтаксис
HRESULT GetSourceEntriesByLine(
[in] ULONG Line,
[in] PCSTR File,
[in] ULONG Flags,
[out, writes, 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, writes, optional] Entries
Получает расположения в памяти целевого объекта, соответствующие запрашиваемой исходной строке. Каждая запись в этом массиве имеет тип DEBUG_SYMBOL_SOURCE_ENTRY и содержит номер строки источника вместе с расположением в памяти целевого объекта.
[in] EntriesCount
Указывает количество записей в массиве Entries .
[out, optional] EntriesAvail
Получает количество расположений, соответствующих запросу, найденным в памяти целевого объекта.
Возвращаемое значение
Эти методы также могут возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Метод выполнен успешно. Однако массив Entries не был достаточно большим, чтобы вместить все результаты, соответствующие запросу, и дополнительные результаты были удалены. |
|
Запрос не дал результатов. Сюда входит случай, когда сведения о символах были недоступны для указанного файла. |
Комментарии
Эти методы могут использоваться приложениями-отладчиками для получения расположений в памяти целевого объекта для задания точек останова или сопоставления исходного кода с дизассемблированными инструкциями. Например, установка флагов DEBUG_GSEL_ALLOW_HIGHER и DEBUG_GSEL_NEAREST_ONLY вернет расположение целевой памяти для первого фрагмента кода, начиная с указанной строки.
Дополнительные сведения об исходных файлах см. в разделе Использование исходных файлов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |