windbg:已加载程序集的版本

时间:2011-02-25 17:14:31

标签: clr windbg sos

如果我有完整的内存转储,有人知道如何找出已加载程序集的程序集版本(不是文件版本)吗? 假设我有一个完整的.net进程转储,我发现在一个 AppDomain 中加载了两个同名的程序集。我需要知道这些组件有哪些版本。 SOS命令!dumpmodule !dumpassembly !dumpdomain 不提供这种信息,或者我只是遗漏了一些东西。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以尝试!SaveModule SOS命令。这将获取程序集的起始地址并创建一个新文件(其名称由您提供)以保存程序集的内容。然后,您可以使用.NET Refletor之类的东西来打开文件,它可能会在那里的某处提供.NET版本。这个问题有一些细节:

How to find out which version of the .NET Framework an executable needs to run?

至于!SaveModule命令,这是一篇描述如何使用它的博客文章:

http://blogs.msdn.com/b/tess/archive/2006/05/18/601002.aspx?PageIndex=2