Tôi có một minidump bị lỗi từ một ứng dụng .NET. Có cách nào để biết phiên bản CLR (ví dụ: phiên bản mscorwks.dll) của máy lỗi (tạo ra bãi chứa sự cố) bằng cách sử dụng Windbg hoặc một số công cụ khác không?Làm thế nào để biết phiên bản CLR của một bãi chứa sự cố?
Trả lời
Trong WinDbg: cách đơn giản nhất là sử dụng lệnh !eeversion
, nhưng nếu bạn muốn thêm thông tin bạn có thể sử dụng lệnh lm
với các tùy chọn tiết v
cho các mô-đun runtime mscorwks
. Nếu bạn đang ở trên. NET 4 thời gian chạy được gọi là clr
, vì vậy trong trường hợp đó bạn cần phải thay đổi lệnh cho phù hợp.
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
Go Verbose trong 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
Ngoài ra, nạp bãi trong Visual Studio và sử dụng Debug | Windows | Mô-đun toolwindow để hiển thị một số thông tin này.
ví dụ cho hai phiên bản Net khác nhau, sử dụng thông tin phiên bản của 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
+1 vì điều này hoạt động mà không tải cụ thể (và do đó trên máy đó có khả năng không có sẵn) mscordacwks.dll/sos.dll vv Tôi cũng đã thêm ví dụ cho hai phiên bản .Net để tham khảo. –
! EEVersion nên cung cấp phiên bản CLR.
- 1. Nhật ký sự cố iPhone cho biết "Phiên bản: ???"
- 2. Sử dụng SOS tại một bãi chứa với NET 2 (mscorwks) và .NET 4 (CLR)
- 3. Làm cách nào để biết jdk nào chứa các phiên bản của JAX-WS
- 4. Tại sao một bãi chứa SVN của một bản sửa đổi lớn hơn một bãi chứa đầy đủ?
- 5. Chuyển đổi một bãi chứa PostgreSQL thành một bãi chứa MySQL
- 6. Làm thế nào để thay đổi phiên bản Powershell CLR khi chạy lệnh từ xa?
- 7. Làm thế nào để tôi thấy sự khác biệt giữa 2 bãi chứa MySQL?
- 8. Làm thế nào để biết phiên bản jQuery programatically
- 9. Làm thế nào để tạo một bãi chứa với Oracle PL/SQL Developer?
- 10. Làm thế nào để bạn biết sự khác biệt trong giao diện giữa hai phiên bản khác nhau?
- 11. Thư viện để đọc một bãi chứa MySQL?
- 12. Làm cách nào để loại bỏ các nhận xét này trong một bãi chứa MySQL?
- 13. Làm thế nào để bạn biết phiên bản GTK + nào được cài đặt trên Ubuntu?
- 14. Không có phiên bản CLR v4. được tải vào quá trình đích. - Lỗi Profiler CLR
- 15. .NET 4.5 có giới thiệu phiên bản CLR mới không?
- 16. Làm thế nào để biết phiên bản django tôi sử dụng? là 1.0, 1.1 hoặc 1.2?
- 17. Làm cách nào để tìm tất cả các phiên bản git của tệp có chứa foo?
- 18. Việc cần làm với "Phiên bản SOS không khớp với phiên bản CLR bạn đang gỡ lỗi" trong WinDbg?
- 19. Làm thế nào để biết xem MKMapView visibleMapRect có chứa một Coordinate?
- 20. làm thế nào để bạn loại bỏ một phiên bản ngôn ngữ của một mục sitecore?
- 21. Làm thế nào để tạo ra một chi nhánh của một phiên bản cũ với TortoiseSVN?
- 22. Làm thế nào để biết phiên bản xdebug tôi đã cài đặt?
- 23. Làm thế nào để biết phiên bản JDK từ bên trong mã Java
- 24. Làm thế nào để theo dõi số lượng phiên bản của một loại?
- 25. Làm thế nào để đọc một bãi rác sụp đổ google chrome với windbg
- 26. Làm cách nào để biết phiên bản WCF nào tôi đang chạy?
- 27. Cocoapods câu hỏi: "Làm thế nào để cocoapods biết khi nào một phiên bản mới của một thư viện có sẵn?" vv
- 28. Làm thế nào biết nếu ModelState chứa lỗi
- 29. Làm cách nào để biết phiên bản gỡ lỗi của flash có được cài đặt không?
- 30. Làm thế nào để tạo một phiên bản di động của một trang web ASP.NET?
Xin chào Brian, tôi nghĩ lệnh này chỉ kiểm tra trên máy gỡ lỗi mà phiên bản CLR được sử dụng, không kiểm tra phiên bản CRL của máy lỗi. Có ý kiến gì không? Một vấn đề khác là, phiên bản không đầy đủ, không nên chỉ là 50727, nhưng 50727.xxxx, như 50727.3053. – George2
@ George2: lm hiển thị mô đun được tải nếu bạn đang kiểm tra tệp kết xuất vì đây là một phần của bộ nhớ đã bị bán. Đối với số phiên bản, tôi cho rằng điều này có thể được đọc từ phiên bản Tệp và/hoặc Sản phẩm. –