Profiler Will Not Profile DLLs That Are Freed, Then Reloaded

OverviewHow Do I

Feature Only in Professional and Enterprise Editions   Profiling is supported only in Visual C++ Professional and Enterprise Editions. For more information, see .

The Microsoft Source Profiler version can profile the first instance of any and all DLLs (dynamic-link libraries) in a Windows application, but it cannot continue to collect statistics for a dynamically loaded DLL that is freed and then reloaded.

DLLs that are dynamically loaded with LoadLibrary( ), and that are freed and then reloaded, should not be profiled because the results will not be correct.

This behavior can be observed by attempting to profile code that performs the following actions:

  1. Dynamically loads a DLL with LoadLibrary( ).

  2. Frees the DLL with FreeLibrary( ).

  3. Reloads the DLL with LoadLibrary( ).

There is currently no way to work around this limitation. The ability to handle dynamically reloaded DLLs under Windows is being considered for a future version of the profiler.