启用分析
代码探查器是作为 DLL 实现的软件工具,它是在映像执行期间由运行时系统调用的。 每次进入或退出一个函数时,以及当程序员感兴趣的其他事件发生时,探查器都会接收到通知。 通过收集有关这些事件的统计信息,探查器可以建立对哪些例程占用大多数 CPU 时间、何时发生垃圾回收以及是否引发异常等情况的全面了解。
运行时系统在进程初始化期间将探查器连接到进程。 为确定要执行哪些任务,运行时系统检查两个环境变量:COR_ENABLE_PROFILING 和 COR_PROFILER。
如果缺少 COR_ENABLE_PROFILING 或它被设置为值 0,则运行时系统不将该进程连接到探查器。 否则,运行时系统会将该进程连接到其指定的类标识符 (CLSID) 是 COR_PROFILER 的值的探查器。
例如,命令行导致运行时系统创建具有此 CLSID 的探查器 COM 类的实例并将它连接到该进程。
set Cor_Profiler={32E2F4DA-1BEA-47ea-88F9-C5DAF691C94A}
探查器必须实现 ICorProfilerCallback 接口,运行时系统随后调用它以向探查器通知感兴趣的事件。