gpt4 book ai didi

c++ - 如何从 COR Profiler 中的 AssemblyID 获取装配信息?

转载 作者:行者123 更新时间:2023-11-28 04:47:26 32 4
gpt4 key购买 nike

我想捕获所有已加载程序集的信息以及公钥、版本等元数据。为此,我使用 ICorProfiling API 和回调开发了 .Net 自定义探查器。我可以通过订阅 AssemblyLoadFinished 事件来捕获加载的程序集 ID。但是如何从这个 AssemblyID 中获取程序集元数据,如公钥、版本等。

我找到了一个方法“IMetaDataAssemblyImport::GetAssemblyProps”。但它接受程序集 token (即 mdAssembly)。如何将 AssemblyID 转换为 mdAssembly?

最佳答案

元数据 token (包括程序集元数据 token )是特定于模块的,一个已显示的模块只能定义一个程序集,因此实际上只有一个程序集元数据 token ;但你应该使用 IMetaDataAssemblyImport::GetAssemblyFromScope而不是对其进行硬编码。

真正的问题是如何为 AssemblyID 获取正确的 IMetaDataAssemblyImport 实例。你可以使用 ICorProfilerInfo::GetAssemblyInfo获取 list 模块的模块 ID,然后是 ICorProfilerInfo::GetModuleMetaData获取 IMetaDataAssemblyImport 实例。

关于c++ - 如何从 COR Profiler 中的 AssemblyID 获取装配信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48984663/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com