我怎么知道崩溃转储的CLR版本?

时间:2009-03-23 14:18:27

标签: debugging clr windbg crash-dumps

我有一个从.NET应用程序崩溃的minidump。有没有办法知道使用Windbg或其他工具的故障机器(生成故障转储)的CLR版本(例如mscorwks.dll的版本)?

3 个答案:

答案 0 :(得分:14)

在WinDbg中:最简单的方法是使用!eeversion命令,但是如果您需要其他信息,可以使用lm命令和运行时模块的v详细选项{ {1}}。如果您使用的是.NET 4,则运行时称为mscorwks,因此在这种情况下您需要相应地更改命令。

clr

答案 1 :(得分:4)

!EEVersion应该提供CLR版本。

答案 2 :(得分:3)

在WinDbg中详细说明:

>lm v 
............. (lots of modules).......

687d0000 68d06000   System_Xml_ni   (deferred)             
Image path: C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\38b9d09539b67b08ee996db6c71f8a9b\System.Xml.ni.dll
Image name: System.Xml.ni.dll
Has CLR image header, track-debug-data flag not set
Timestamp:        Mon Oct 06 20:43:49 2008 (48EADAF5)
CheckSum:         00000000
ImageSize:        00536000
File version:     2.0.50727.3074
Product version:  2.0.50727.3074
File flags:       0 (Mask 3F)
File OS:          4 Unknown Win32
File type:        2.0 Dll
File date:        00000000.00000000
Translations:     0409.04b0
CompanyName:      Microsoft Corporation
ProductName:      Microsoft® .NET Framework
InternalName:     System.Xml.dll
OriginalFilename: System.Xml.dll
ProductVersion:   2.0.50727.3074
FileVersion:      2.0.50727.3074 (QFE.050727-3000)
FileDescription:  .NET Framework
LegalCopyright:   © Microsoft Corporation.  All rights reserved.
Comments:         Flavor=Retail

或者,在Visual Studio中加载转储并使用Debug | Windows |模块工具窗口显示部分信息。


两个不同.Net版本的示例,使用clr.dll的版本信息:

.Net 4.0(.x?)

Image name: clr.dll
Timestamp:        Thu Mar 18 21:39:07 2010 (4BA21EEB)
...
File version:     4.0.30319.1
Product version:  4.0.30319.1

.Net 4.5.2

Image name: clr.dll
Timestamp:        Fri Nov 07 20:09:21 2014 (545CA861)
...
File version:     4.5.27.0
Product version:  4.0.30319.0