是否可以直接使用C#中的Profiling API?

Ale*_*Way 20 .net c# api profiling clr-profiling-api

我只想使用.NET Profiling API(ICorProfilerCallback等),但同时又不想处理C++.我一直在寻找一段时间,并且没有在C#中找到任何示例,但是C#+ C++中最有趣的部分是使用C++编写的.

Chr*_*ich 27

不可以,您无法在托管代码(C#或其他方式)中实现CLR分析API,因为在假定托管环境处于特定状态时,在非常特定的时间调用分析回调.在托管代码中实现回调会违反很多假设.

CLR分析API的开发人员David Broman 这样说:

你需要用C++编写你的探查器.在执行配置文件应用程序期间,运行时会在非常精细的点调用分析器,在这些点上运行托管代码通常非常不安全.

David的博客是处理CLR分析API的绝佳资源.

  • http://research.microsoft.com/en-us/um/redmond/projects/pex/wiki/Microsoft.ExtendedReflection.html (3认同)