我为 .NET 应用程序编写了一个小型分析器。它使用ICorProfilerCallback2
接口。
探查器附加并适用于 .NET 2.0 应用程序,但不适用于 .NET >2.0(3.0、3.5、4.0)。当我启动一个用 .NET 4.0 编译的 exe 时,什么也没有发生,但是对于 .NET 2.0,探查器会启动。我在运行托管 exe 之前设置了以下变量
@Echo off
set Cor_Enable_Profiling=0x1
set COR_PROFILER={67D8965A-8686-2639-9C24-E1F7D13EE105}
set COR_PROFILER_DLL=e:\Debug\Profiler.dll
set COR_PROFILER_PATH=e:\Debug\Profiler.dll
知道为什么会发生这种情况吗?甚至进不去DllMain