机器A开发的一个WebApp,放到机器B上运行,w3wp(64位)内存非常高,ProcessExplorer搞到几个dump文件,拿到机器C上用Windbg分析,但是指定.load 64位的sos不成功,.load 32位的sos成功但是不能正常work。
Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (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\MicrosoftPublicSymbols
Executable search path is:
Windows Server 2003 Version 3790 (Service Pack 2) MP (4 procs) Free x64
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Machine Name:
Debug session time: Thu Mar 24 14:47:43.000 2011 (UTC + 8:00)
System Uptime: 13 days 2:53:45.725
Process Uptime: 0 days 0:02:31.000
................................................................
................................................................
.........................................
Loading unloaded module list
..
ntdll!NtWaitForSingleObject+0xa:
00000000`78ee0a2a c3 ret
0:000> lm v m mscorwks
start end module name
00000642`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=Retail
0:000> .load d:\de\64clr2\sos
The 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\sos
0:000> !clrstack
Failed to load data access DLL, 0x80004005
Verify 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's
load 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 executable
path is pointing to mscorwks.dll as well.