我很好奇一个典型的C#profiler是如何工作的?
虚拟机中是否有特殊的挂钩?
是否可以轻松扫描函数调用的字节代码并将调用注入启动/停止计时器?
或者它真的很难,这就是为什么人们为此付费的工具?
(作为旁注,我觉得有点有趣,因为它非常罕见 - 谷歌完全错过了搜索" ac#profiler如何工作? "根本不起作用 - 结果是关于空调...)
Microsoft 有一个免费的 CLR Profiler,版本 4.0。
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=be2d842b-fdce-4600-8d32-a3cf74fda5e1
顺便说一句,CLR Profiler 文档中有一个很好的部分,详细描述了它的工作原理,第 103 页。源代码是发行版的一部分。