上周左右,我一直在玩CLR Profiling API,作为夏季的宠物项目。
我开始考虑ANTS和DotTrace如何实现行级分析。我在Profiling API中看不到与此相关的任何内容,所以我认为他们有一些专有的东西。
我正在寻找关于如何实现这一点的指示或想法。
当代码被JIT时,他们会注入MSIL代码吗?
答案 0 :(得分:1)
CLR Profiling API支持开箱即用仅跟踪Enter&离开水平。这可以使用ICorProfilerInfo::SetEnterLeaveFunctionHooks
完成为了在更精细的水平上进行追踪,需要编织IL。您可以使用这些开源分析器代码作为参考:
在JITCompilationStarted 回调期间编织代码。