3

上周左右我一直在使用 CLR Profiling API,作为夏季的宠物项目。

我开始思考 ANTS 和 DotTrace 如何实现行级分析。我在 Profiling API 中看不到任何与此相关的内容,所以我认为他们有一些专有的东西。

我正在寻找有关他们如何实现这一点的指针或想法。

当代码被 JIT 化时,他们会注入 MSIL 代码吗?

4

1 回答 1

1

开箱即用的 CLR Profiling API 支持仅在进入和离开级别进行跟踪。这可以使用ICorProfilerInfo::SetEnterLeaveFunctionHooks来完成

为了在更精细的层次上进行跟踪,需要对 IL 进行编织。您可以使用这些开源分析器代码作为参考:

两者都在JITCompilationStarted回调期间编织代码。

于 2013-07-16T10:49:41.523 回答