Метод IDebugSymbols::GetOffsetByName (dbgeng.h)

Метод GetOffsetByName возвращает расположение символа, определяемого по имени.

Синтаксис

HRESULT GetOffsetByName(
  [in]  PCSTR    Symbol,
  [out] PULONG64 Offset
);

Параметры

[in] Symbol

Указывает имя символа, который нужно найти. Имя может быть квалифицировано именем модуля (например, mymodule!main).

[out] Offset

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

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

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

Возвращаемый код Описание
S_OK
Метод был успешным.
S_FALSE
Метод был успешным. Однако имя символа не было уникальным и найдено несколько символов с таким именем. Один из этих символов был произвольно выбран и возвращен.
E_FAIL
Не удалось найти символ с указанным именем.

Замечания

Если имя символа не является уникальным и GetOffsetByName находит несколько символов с таким именем, то неоднозначность будет разрешена произвольно. В этом случае будет возвращено значение S_FALSE. StartSymbolMatch можно использовать для запуска поиска, чтобы определить, какой результат является нужным.

GetNameByOffset не поддерживает сопоставление шаблонов (например, подстановочные знаки). Чтобы найти символ с использованием сопоставления шаблонов, используйте StartSymbolMatch.

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

Дополнительные сведения о символах и именах символов см. в символов.

Требования

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

См. также

GetNameByOffset

IDebugSymbols

IDebugSymbols2

IDebugSymbols3