如何构建一个自定义调试器,以附加到.NET进程并监听特定类型的事件?

我打算做一个非常特定的分析工具来侦听特定类型的事件,也就是说,我有一个类型为T的事件。每次T触发事件的任何实例时,我都想知道。如何构建一个自定义调试器,以附加到.NET进程并监听特定类型的事件?

用户运行概要分析应用程序,附加到进程并且应用程序开始生成日志。

可能吗?如果属实,我该如何开始?

回答:

几年前,我一直在做类似的事情,但并不完全分析。我开始的方式是查看MSDN上提供的CLR Profiler的源代码,然后找出它如何附加到正在运行的应用程序,有一些非托管代码需要执行,但可以直接提取来自CLR Profiler;)

以下是一些您可以开始查看的地方。

ICorDebug - 提供允许开发人员在CLR中调试应用程序的方法。

Additional Debugging Interfaces - 您可以挂钩到CLR进行调试和分析的所有方法。

ICorProfilerCallback - 查看配置文件实现的第一个界面。

Profiling interfaces - 用于您想实施的任何分析事件。

CLR Profiler - 我会看看这个来源,它做你想做的一切。

回答:

你知道吗dotnet performance counter?它们与调试无关,但适用于捕捉和计算特殊事件。

您可以将它们用于检查以了解有多少客户登录到您的Web应用程序。

以上是 如何构建一个自定义调试器,以附加到.NET进程并监听特定类型的事件? 的全部内容, 来源链接: utcz.com/qa/261070.html

回到顶部