我看过this question以及一些与使用mscoree.CorRuntimeHostClass.EnumDomains
方法在当前进程中枚举AppDomains相关的博文,但我想知道是否有在同一台机器上的单独进程中枚举AppDomains的方法。
我希望能够编写一个简单的控制台甚至WinForms应用程序,它可以获取进程ID,并能够在该进程中向我提供有关AppDomains的一些信息。这甚至可能吗?我假设在某种程度上,Process Explorer可以为您提供.NET进程的AppDomains列表。我只是想知道如何使用C#代码实现这一目标。
答案 0 :(得分:1)
这是可能的,但您需要使用调试API来执行此操作。这与您链接的帖子大致相似,但您使用不同的API和接口。有关概述和链接,请参阅Publishing Processes in the Debugging API。
特别是,请参阅CorpubPublish coclass和ICorPublish接口,然后通过ICorPublish :: GetProcess和ICorPublishProcess :: EnumAppDomains进行追踪。
答案 1 :(得分:0)
我想Mike Stall的这个post 'Enumerating Managed Processes'可以解决这个问题。