2011-02-25 103 views
0

有没有人知道如何找出加载程序集的程序集版本(而不是文件版本),如果我有完整的内存转储? 假设我有一个完整的.net进程转储,并且我发现在一个AppDomain中加载了两个具有相同名称的程序集。我需要知道这些程序集有什么版本。 SOS命令!dumpmodule!dumpassembly and !dumpdomain不提供这种信息或我只是错过了一些东西。windbg:加载程序集的版本

预先感谢您。

回答

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

+0

感谢杰森!这不是理想的,但它的工作原理。再次感谢! – 2011-02-28 16:37:19

+0

@AC - 是的,要做到这一点有点痛苦,但我很高兴它适合你。 – 2011-03-01 13:18:10

相关问题