Monday, May 17, 2010

windbg:PDB symbol for mscorwks.dll not loaded when you debug dump of .net app or silverlight apps and How to configure WinDbg to run other versions of the .NET

you may get the following error when you try to debug the dump generated on other servers by using windbg.
 

PDB symbol for mscorwks.dll not loaded
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.

way to fix it is every easy, following the follow steps.

Copy 3 files located in [C:\Windows\Microsoft.NET\Framework\v2.0.50727] to a folder like d:\productionsos, use Framework64 for X64 System.

  • SOS.DLL
  • MSCORWKS.DLL
  • MSCORDACWKS.DLL

then Open a new  Windbug, locate the Dump. and run the following commands.

0:000> !sym noisy
noisy mode - symbol prompts on
0:000> .symfix d:\productionsos
DBGHELP: Symbol Search Path: SRV*d:\productionsos*http://msdl.microsoft.com/download/symbols
0:000> .load d:\productionsos\sos.dll

the same approach applies to the Microsoft Silverlight Debugging. simply copy the 3 files located in your Silverlight SDK directory. like
C:\Program Files\Microsoft Silverlight\3.0.40818.0

More troubleshooting entries.

3 comments:

Anonymous said...

I would like to exchange links with your site androidyou.blogspot.com
Is this possible?

Anonymous said...

sure

Ryan said...

64bit debugger dumped 32 process,

load the extension to avoid the error

0:000> .load wow64exts
0:000> !sw
Switched to 32bit mode

 
Locations of visitors to this page