//http://msdn.microsoft.com/msdnmag/issues/01/11/NetProf/NetProf.asp
//
//
//
//.NET Framework Developer Specifications
//
//Enabling Profiling
//This is preliminary documentation and subject to change.
//Send feedback on this topic.
//
//
//A code profiler is a software tool, implemented as a DLL, that is called by
//the Runtime, during execution of an image - the profiler receives
//notifications of 'interesting' events such as each time a function is
//entered or exited. By gathering statistics on these events, the profiler
//tool can build a comprehensive picture of which routines burned most cpu
//time, when garbage collections occured, exceptions thrown, etc, etc.
//
//'Connecting' to a profiler is only done during the initialization phase for
//the Runtime within each process. In this phase, it checks two environment
//variables to determine:
//
//Whether to 'connect' with a code profiler (Cor_Enable_Profiling)
//Which code profiler to send any notifications to (Cor_Profiler)
//If Cor_Enable_Profiling does not exist, or is set to the value 0, the
//Runtime will make no attempts to 'connect' to a profiler.
//
//If Cor_Enable_Profiling has the value 1, the Runtime will attempt to
//'connect' to the profiler whose CLSID is specified in the Cor_Profiler
//string. For example:
//
//set Cor_Profiler={32E2F4DA-1BEA-47ea-88F9-C5DAF691C94A}
//Then the Runtime will 'connect' with the DLL, by instantiating the COM class
//with that CLSID - the class must implement the ICorProfilerCallback
//interface (used to receive notifications from the Runtime, during execution,
//of 'interesting' events, such as function enters and leaves)
//
|