.NET Profiler-筛选出.NET Framework函数



我创建了一个.NET评测DLL,用于实现ICorProfilerCallback3接口。

我使用评测来跟踪运行时调用的函数,但是,我希望跟踪特定于应用程序的函数,而不是标准的.NET框架函数。

我成功地使用了SetEnterLeaveFunctionHook方法,并为它提供了回调函数。

然后,当我在回调函数中时,我使用GetFunctionInfoGetModuleInfo2函数获得函数信息和程序集信息。

我遇到的问题是,这显然是每个函数都会调用的,我正在寻找一种方法来区分.Net框架DLL和非标准DLL。

例如,当应用程序启动时,大多数调用都转到mscorlib.dll,我对此不感兴趣。

有什么想法吗?我试过调用这个函数,但pdwImplFlags似乎没有填充任何有用的内容。

https://learn.microsoft.com/en-us/dotnet/framework/unmanaged-api/metadata/imetadataimport-getmethodprops-method

您可以使用SetFunctionIDMapper2指定一个映射器,该映射器检查函数是否感兴趣,如果不感兴趣,则在pbHookFunction中返回false。然后,您应该只获得在pbHookFunction中返回true的方法的回调。

相关内容

  • 没有找到相关文章