dr.*_*vil 5 .net instrumentation il profiling
我正在尝试编写一个.NET应用程序,它可以分析其他.NET进程并列出它们所做的所有调用,包括传递参数的值.
我知道用"ICorProfilerCallback2"之类的东西编写我自己的探查器可以对此有所帮助,但这似乎是一项非常具有挑战性的任务.在进行之前,我想确保这是实现这一目标的唯一方法.
我看着开源.NET剖析和一致好评,如部分覆盖,CLR探查器4.0版等,但他们都不似乎提供了一个管理API来做到这一点,他们做的远远超过我所需要的(内存分析等).
有没有其他方法可以做到这一点?一种更简单的方法来进行这种分析?我在这里有什么选择?
我们曾经使用Mono Cecil编写过这样一个工具。
使用 Cecil,您可以将 IL 代码发送到现有程序集中。通过这种方式,您可以在每个方法的开头添加对您的托管 DLL 的调用。
然而,IL注射相当棘手,因为有很多情况需要考虑,但它是可行的。好的一面是:一旦您的托管 DLL 被调用,您的所有代码都可以以高级方式(例如 C#)编写,因此“唯一”棘手的部分是将调用编织到您的 API。
使用 Cecil 仪器的工作流程可能如下所示:
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |