有谁知道 C# 中的分析器库,我可以将其嵌入到我的源代码中,以进行基于样本的分析?即定期获取指令指针位置,将其存储在内存中并允许将其保存到文件中并稍后分析,大概是通过某些桌面应用程序?
我知道有很多传统的分析器应用程序(如 JetBrains、Ants 等),但我想分析在非桌面平台上运行的 C# 程序,这些分析器都不能使用。我希望我的应用程序自行采样,而不是外部分析器。
Eqatec profiler可能适合。我知道至少在早期版本中,分析已编译到您的二进制文件中。
用户指南似乎很好地概述了如何使用它:
ETW 跟踪基础结构提供了该功能。尝试运行 Microsoft 的 perfview 工具。它使用 ETW 来显示采样的堆栈跟踪。
您可以自己使用 ETW 来构建采样分析器。不过,这可能有点工作。