如何构建一个自定义调试器,以附加到.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