2009-03-23 23 views

Respuesta

14

En WinDbg: la forma más fácil es usar el comando !eeversion, pero si desea información adicional, puede usar el comando lm con la opción verbosa v para el módulo de tiempo de ejecución mscorwks. Si está en .NET 4, el tiempo de ejecución se llama clr, por lo que en ese caso debe cambiar el comando en consecuencia.

0:026> lm vm mscorwks 
start end  module name 
79e70000 7a3ff000 mscorwks T (no symbols)   
    Loaded symbol image file: mscorwks.dll 
    Image path: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
    Image name: mscorwks.dll 
    Timestamp:  Wed Oct 24 09:41:29 2007 (471EF729) 
    CheckSum:   00597AA8 
    ImageSize:  0058F000 
    File version:  2.0.50727.1433 
    Product version: 2.0.50727.1433 
    File flags:  0 (Mask 3F) 
    File OS:   4 Unknown Win32 
    File type:  2.0 Dll 
    File date:  00000000.00000000 
    Translations:  0000.04b0 0000.04e4 0409.04b0 0409.04e4 
+0

Hola Brian, creo que este comando solo verifica en la máquina de depuración qué versión de CLR se utiliza, no verifica la versión de CRL de la máquina de error. ¿Algún comentario? Otro problema es que la versión está incompleta, no debería ser solo 50727, sino 50727.xxxx, como 50727.3053. – George2

+0

@ George2: lm muestra el módulo que está cargado si está inspeccionando un archivo de volcado ya que es parte de la memoria que se descargó. En cuanto al número de versión, supongo que esto se puede leer desde el archivo y/o la versión del producto. –

3

Ir verbosa en 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 

Como alternativa, cargue el volcado en Visual Studio y utilizar la depuración | Windows | Ventana de herramientas de módulos para mostrar algo de esta información.


Ejemplos para dos versiones .Net diferentes, utilizando la información de versión de 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 
+0

+1 como esto funciona sin cargar el específico (y por lo tanto en esa máquina potencialmente no disponible) mscordacwks.dll/sos.dll etc. También agregué ejemplos para dos versiones .Net más para referencia. –

4

! EEVersion debería dar la versión CLR.

Cuestiones relacionadas