Включение профилирования
Профилировщик кода — это программное средство, реализованное в виде файла 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)