62得票1回答
动态PInvoke的性能分析

我正在开发MSIL分析器,并且在使用ICorProfilerCallback接口的ManagedToUnmanagedTransition和UnmanagedToManagedTransition回调时遇到了问题。 我想要获取被调用方法的信息(名称和所在模块的名称)。 目前为止,一切都运行...

24得票2回答
“Cor” 代表什么?

我曾在主要的CLR dll,mscorlib.dll中看到它,也在这个CLR性能分析API接口ICorProfilerCallback2中看到它。 只是好奇:'Cor'这个词代表什么?

24得票1回答
能否直接从C#中使用性能分析API?

我希望能够使用.NET Profiling API (ICorProfilerCallback等),但不想使用C++。我已经找了一段时间,但没有找到任何关于C#的例子,只有使用C++编写最有趣部分的C# + C++。

20得票1回答
CLR分析器:在使用DefineAssemblyRef时出现问题

我想编写一个CLR分析器,用于通过GetILFunctionBody/SetILFunctionBody钩取我们应用程序的函数。 我想使用DefineAssemblyRef导入我们的C# DLL(以在IL代码中使用)在这段代码中,DefineAssemblyRef总是返回True吗?我的DL...

12得票2回答
如何在进程中将本机指针映射到IL指令指针

当使用.NET框架的非托管API在进程内对.NET进程进行剖析时,是否可以查找与提供给StackSnapshotCallback函数的本机指针相关联的IL指令指针? 显然,我正在对当前堆栈进行快照,并希望在堆栈转储中提供文件和行号信息。 Managed Stack Explorer通过查询I...

7得票1回答
CLR分析: 在catch块内throw后执行DoStackSnapshot会给出错误的指令指针

我目前正在编写一个CLR分析器,并遇到了一些奇怪的问题。当从try子句和catch子句中抛出两个不同的异常时,CLR会通知我相同的指令指针。 更具体地说:我已注册接收ExceptionThrown回调函数 virtual HRESULT STDMETHODCALLTYPE Exception...

7得票4回答
我需要编写自己的非托管IL库来使用CLR Profiling API重写IL吗?

我一直在查看CLR Profiling API的一些文章,很多文章都提到了调用SetILFunctionBody()来进行实际的IL重写;然而,这些文章并没有详细解释你可以使用什么来重写实际的方法IL字节。是否存在一种非托管库可以让我编写IL,还是我必须自己编写?