机器A 开发机器 32位 xp .netframwork3.5 生成平台 any cpu
机器B 运行机器 64位 server2003 .netframework3.5 IIS6
机器C 我的机器 32位 win7 .netframework4(没有安装.net3.5,仅仅装了4) 32位windbg 6.12
机器A开发的一个WebApp,放到机器B上运行,w3wp(64位)内存非常高,ProcessExplorer搞到几个dump文件,拿到机器C上用Windbg分析,但是指定.load 64位的sos不成功,.load 32位的sos成功但是不能正常work。
该如让windbg找到正常的mscorwks mscordacwks sos???
160的专家分全抛了
下面是windbg的内容
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [G:\dumpFile\w3wpFullA.dmp]User Mini Dump File with Full Memory: Only application data is available
Symbol search path is: srv*d:\SymbolCache\MicrosoftPublicSymbols*http://msdl.microsoft.com/download/symbols;D:\SymbolCache\MicrosoftPublicSymbolsExecutable search path is: Windows Server 2003 Version 3790 (Service Pack 2) MP (4 procs) Free x64Product: Server, suite: Enterprise TerminalServer SingleUserTSMachine Name:Debug session time: Thu Mar 24 14:47:43.000 2011 (UTC + 8:00)System Uptime: 13 days 2:53:45.725Process Uptime: 0 days 0:02:31.000.........................................................................................................................................................................Loading unloaded module list..ntdll!NtWaitForSingleObject+0xa:00000000`78ee0a2a c3 ret0:000> lm v m mscorwksstart end module name00000642`7f330000 00000642`7fce1000 mscorwks (deferred) Image path: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll Image name: mscorwks.dll Timestamp: Fri Jul 25 22:51:28 2008 (4889E870) CheckSum: 0099D927 ImageSize: 009B1000 File version: 2.0.50727.3053 Product version: 2.0.50727.3053 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: mscorwks.dll OriginalFilename: mscorwks.dll ProductVersion: 2.0.50727.3053 FileVersion: 2.0.50727.3053 (netfxsp.050727-3000) FileDescription: Microsoft .NET Runtime Common Language Runtime - WorkStation LegalCopyright: © Microsoft Corporation. All rights reserved. Comments: Flavor=Retail0:000> .load d:\de\64clr2\sosThe call to LoadLibrary(d:\de\64clr2\sos) failed, Win32 error 0n193 "%1 不是有效的 Win32 应用程序。"Please check your debugger configuration and/or network access.0:000> .load d:\de\32clr2\sos0:000> !clrstackFailed to load data access DLL, 0x80004005Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that matches your version of mscorwks.dll is in the version directory 3) or, if you are debugging a dump file, verify that the file mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path. 4) you are debugging on the same architecture as the dump file. For example, an IA64 dump file must be debugged on an IA64 machine.
You can also run the debugger command .cordll to control the debugger'sload of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload.If that succeeds, the SOS command should work on retry.
If you are debugging a minidump, you need to make sure that your executablepath is pointing to mscorwks.dll as well.
好像是不能。