Jon*_*ter 18 windbg sos debugdiag
我正在尝试使用WinDBG来分析我们的一台生产机器的崩溃转储.我的问题的根源似乎是我有一个不同于生产机器的.NET框架版本,只是我不知道如何解决问题.当我转!sym吵闹然后运行!dlk(来自SOSEX)我得到以下错误,因为它试图找到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.
Run Code Online (Sandbox Code Playgroud)
我从生产机器上获取了mscorwks.dll,mscordawks.dll和sos.dll,并将它们放在C:\ mysymbols中.看起来WinDBG正在寻找mscorwks dll中的dll.
Cod*_*Fox 11
Doug Stewart的这个非常完整的解释帮助我解决了这个问题.
摘要:
mscordacwks_AAA_AAA_2.0.50727.xxxx.dll
(取决于您的体系结构和特定框架版本) - 例如,mscordacwks_x86_x86_2.0.50727.3607.dll
针对问题中的特定情况.windbg.exe
.查看此处的文章后http://codenasarre.wordpress.com/2011/06/22/sending-an-sos/
然后基本上尝试了我可以移动符号的每一种形式,我发现我能得到这个工作的唯一方法是将 mscorwks.dll、mscordawks.dll 和 sos.dll 从生产计算机复制到 C:\WINDOWS\ Microsoft.NET\Framework\v2.0.50727
看来 WinDBG 对于同一 DLL 的多个版本的处理不太好。也许我做错了什么,但将 dll 直接复制到 .NET Framework 目录至少让我启动并运行。
归档时间: |
|
查看次数: |
16217 次 |
最近记录: |