Включение профилирования

Профилировщик кода — это программное средство, реализованное в виде файла DLL, который вызывается системой среды выполнения при выполнении файла (образа). При каждом входе и выходе из функции, а также при возникновении других событий, интересующих программиста, профилировщик получает соответствующее уведомление. Сбор статистики по таким событиям позволяет профилировщику определить, какие действия требуют выделения наибольшего времени ЦП (сборка мусора, создание исключения и т. д.).

Система среды выполнения подключает профилировщик к процессу при его инициализации. Чтобы определить дальнейшие действия, система среды выполнения проверяет две переменные среды: COR_ENABLE_PROFILING и COR_PROFILER.

Если переменная COR_ENABLE_PROFILING отсутствует, или ее значение равно 0, система среды выполнения не подключается к процессу. В противном случае система среды выполнения связывает процесс с профилировщиком, идентификатор класса (CLSID) которого имеет значение COR_PROFILER.

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

set Cor_Profiler={32E2F4DA-1BEA-47ea-88F9-C5DAF691C94A}

Профилировщик должен реализовать интерфейс ICorProfilerCallback, который впоследствии вызывается системой среды выполнения для уведомления профилировщика об интересующих событиях.

См. также

Основные понятия

Включение отладки с JIT-присоединением (трассировка событий Windows)

Упрощение отладки образов

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

Отладка, трассировка и профилирование