Tôi đang cố gắng sử dụng WinDBG để phân tích một bãi chứa sự cố từ một trong các máy sản xuất của chúng tôi. Gốc rễ của vấn đề của tôi dường như là tôi có một bản dựng .NET khác với máy sản xuất, chỉ có tôi không biết cách khắc phục vấn đề. Khi tôi bật! Sym ồn ào và sau đó chạy! Dlk (từ SOSEX) tôi nhận được lỗi sau khi nó cố gắng tìm ra mscordacwks dllTại sao WinDBG không tìm thấy mscordacwks.dll?
0:000> !dlk
CLRDLL: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscordacwks.dll:2.0.50727.3623 f:0
doesn't match desired version 2.0.50727.3607 f:0
SYMSRV: c:\mysymbols\mscordacwks_x86_x86_2.0.50727.3607.dll\4ADD5446590000\mscordacwks_x86_x86_2.0.50727.3607.dll not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mscordacwks_x86_x86_2.0.50727.3607.dll/4ADD5446590000/mscordacwks_x86_x86_2.0.50727.3607.dll not found
SYMSRV: c:\mysymbols\mscordacwks_x86_x86_2.0.50727.3607.dll\4ADD5446590000\mscordacwks_x86_x86_2.0.50727.3607.dll not found
SYMSRV: c:\mysymbols\mscordacwks_x86_x86_2.0.50727.3607.dll\4ADD5446590000\mscordacwks_x86_x86_2.0.50727.3607.dll not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mscordacwks_x86_x86_2.0.50727.3607.dll/4ADD5446590000/mscordacwks_x86_x86_2.0.50727.3607.dll not found
SYMSRV: c:\mysymbols\mscordacwks_x86_x86_2.0.50727.3607.dll\4ADD5446590000\mscordacwks_x86_x86_2.0.50727.3607.dll not found
CLRDLL: Unable to find mscordacwks_x86_x86_2.0.50727.3607.dll by mscorwks search
CLRDLL: Unable to find 'mscordacwks_x86_x86_2.0.50727.3607.dll' on the path
SYMSRV: c:\mysymbols\mscorwks.dll\4ADD5446590000\mscorwks.dll not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mscorwks.dll/4ADD5446590000/mscorwks.dll not found
SYMSRV: c:\mysymbols\mscorwks.dll\4ADD5446590000\mscorwks.dll not found
DBGHELP: C:\Program Files\Debugging Tools for Windows (x86)\mscorwks.dll - file not found
SYMSRV: c:\mysymbols\mscorwks.dll\4ADD5446590000\mscorwks.dll not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mscorwks.dll/4ADD5446590000/mscorwks.dll not found
SYMSRV: c:\mysymbols\mscorwks.dll\4ADD5446590000\mscorwks.dll not found
CLRDLL: Unable to find mscorwks.dll by search
CLRDLL: ERROR: Unable to load DLL mscordacwks_x86_x86_2.0.50727.3607.dll, Win32 error 0n2
Unable to initialize .NET data interface. Version 2.0.50727.3607 of mscordacwks.dll is required.
Locate and load the correct version of mscordacwks.dll. See documentation for the .cordll command.
Tôi đã mscorwks.dll, mscordawks.dll và sos.dll từ máy sản xuất và đặt chúng trong C: \ mysymbols. Dường như WinDBG đang tìm kiếm một dll INSIDE dll mscorwks.
Có vẻ như bạn đang phân tích phiên bản .NET 2.0, nhưng SOS được tải đang nhắm mục tiêu .NET 4.0. Kiểm tra http://stackoverflow.com/questions/4373683/unable-to-load-sos-in-windbg –
Sử dụng lệnh ".chain" để xem thứ tự các tiện ích được tải. Đôi khi cả hai phiên bản 2.0 /4.0 sos dll được tải mà có thể gây ra vấn đề. – Naveen