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


Интерфейс ICorProfilerInfo

Предоставляет методы для использования профилировщиками кода для сообщения со средой CLR с целью управления мониторингом событий и запроса информации.

ПримечаниеПримечание

Все методы в интерфейсе ICorProfilerInfo возвращают HRESULT для указания успешности или неуспешности выполнения.Список возможных возвращаемых кодов приведен в CorError.h.

Методы

Метод

Описание

Метод ICorProfilerInfo::BeginInprocDebugging

Инициализирует внутрипроцессную поддержку отладки. Этот метод является устаревшим для платформы .NET Framework версии 2.0.

Метод ICorProfilerInfo::EndInprocDebugging

Завершает внутрипроцессный сеанс отладки. Этот метод является устаревшим для платформы .NET Framework версии 2.0.

Метод ICorProfilerInfo::ForceGC

Принудительно запускает сборку мусора в рабочей среде.

Метод ICorProfilerInfo::GetAppDomainInfo

Получает информацию об указанном домене приложений.

Метод ICorProfilerInfo::GetAssemblyInfo

Получает сведения об указанной сборке.

Метод ICorProfilerInfo::GetClassFromObject

Получает ClassID объекта

с его ObjectID.

Метод ICorProfilerInfo::GetClassFromToken

Получает идентификатор класса по заданному маркеру метаданные. Этот метод является устаревшим для платформы .NET Framework версии 2.0. Вместо него следует использовать метод ICorProfilerInfo2::GetClassFromTokenAndTypeArgs.

Метод ICorProfilerInfo::GetClassIDInfo

Получает родительский модуль и маркер метаданных для указанного класса.

Метод ICorProfilerInfo::GetCodeInfo

Получает область памяти машинного кода, связанного с указанным идентификатором функции. Этот метод устарел. Вместо него следует использовать метод ICorProfilerInfo2::GetCodeInfo2.

Метод ICorProfilerInfo::GetCurrentThreadID

Получает идентификатор текущего потока, если этот поток является управляемым.

Метод ICorProfilerInfo::GetEventMask

Получает текущие категории событий, для которых профилировщик будет получать оповещения о событиях от среды CLR.

Метод ICorProfilerInfo::GetFunctionFromIP

Соотносит указатель инструкции управляемого кода с FunctionID.

Метод ICorProfilerInfo::GetFunctionFromToken

Получает идентификатор функции. Этот метод является устаревшим для платформы .NET Framework версии 2.0. Вместо него следует использовать метод ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs.

Метод ICorProfilerInfo::GetFunctionInfo

Получает родительский класс и маркер метаданных для указанной функции.

Метод ICorProfilerInfo::GetHandleFromThread

Сопоставляет идентификатор потока дескриптору потока Win32.

Метод ICorProfilerInfo::GetILFunctionBody

Получает указатель основной части метода в коде MSIL (начиная с его заголовка).

Метод ICorProfilerInfo::GetILFunctionBodyAllocator

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

Метод ICorProfilerInfo::GetILToNativeMapping

Получает сопоставление от смещений MSIL к машинным смещениям для кода, содержащегося в указанной функции.

Метод ICorProfilerInfo::GetInprocInspectionInterface

Получает объект, который можно запросить для интерфейса ICorDebugProcess. Этот метод является устаревшим для платформы .NET Framework версии 2.0.

Метод ICorProfilerInfo::GetInprocInspectionIThisThread

Получает объект, который может запрашиваться для интерфейса ICorDebugThread. Этот метод является устаревшим для платформы .NET Framework версии 2.0.

Метод ICorProfilerInfo::GetModuleInfo

Получая идентификатор модуля, возвращает имя файла модуля и идентификатор его родительской сборки.

Метод ICorProfilerInfo::GetModuleMetaData

Получает экземпляр интерфейса метаданных, сопоставляемый с указанным модулем.

Метод ICorProfilerInfo::GetObjectSize

Получает размер указанного объекта.

Метод ICorProfilerInfo::GetThreadContext

Получает идентификацию контекста, в настоящее время связанную с указанным потоком.

Метод ICorProfilerInfo::GetThreadInfo

Получает текущую идентификацию потока Win32 для указанного потока.

Метод ICorProfilerInfo::GetTokenAndMetadataFromFunction

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

Метод ICorProfilerInfo::IsArrayClass

Определяет, является ли указанный класс классом массива.

Метод ICorProfilerInfo::SetEnterLeaveFunctionHooks

Задает реализуемые профилировщиком функции, вызываемые для обработчиков управляемых функций enter, leave и tailcall.

Метод ICorProfilerInfo::SetEventMask

Устанавливает значение, указывающее типы событий, для которых профилировщику требуется получать оповещения от среды CLR.

Метод ICorProfilerInfo::SetFunctionIDMapper

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

Метод ICorProfilerInfo::SetFunctionReJIT

Не реализуется. Не используется.

Метод ICorProfilerInfo::SetILFunctionBody

Заменяет основную часть указанной функции в указанном модуле.

Метод ICorProfilerInfo::SetILInstrumentedCodeMap

Указывает, каким образом смещения исходного сопоставления MSIL указанной функции с новыми смещениями изменяемого профилировщиком MSIL функции.

Заметки

Профилировщик вызывает метод в интерфейсе ICorProfilerInfo для обмена данными со средой CLR с целью управления мониторингом событий и запроса сведений.

Методы интерфейса ICorProfilerInfo реализуются средой CLR с помощью модели свободных потоков. Каждый метод возвращает HRESULT для обозначения успешного выполнения или сбоя. Список возможных возвращаемых кодов приведен в CorError.h.

Среда CLR посредством реализацииICorProfilerCallback::Initialize профилировщика передает интерфейс ICorProfilerInfo каждому профилировщику кода в процессе инициализации. Профилировщик кода затем может вызвать методы интерфейса ICorProfilerInfo для получения информации по управляемому коду, выполняемому под управлением среды CLR.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICorProfilerInfo2

Другие ресурсы

Профилирующие интерфейсы