Question

I'm familiar with the WinDBG paradigm. Been reviewing a lot of dump files using WinDBG x64 version. For the most part dump files were .NET 2.0 applications and psscor2.dll. Current WinDBG version I am using is 6.12.0002.633. Recently, I've been trying to open x64 dump IIS dump files generated from a .NET 4.0 application pool using psscor4.dll. Any command I run returns, "Failed to request information"

  1. I've mscordacwks.dll from c:\Windows\Microsoft.NET\Framework64\v4.0.30319 on the server
  2. Renamed to mscordackwks_AMD64_AMD64_4.0.30319.xxxx.dll. xxxx matches the compiled version in the file
  3. Open WinDBG, open the dump file and add the path to the above DLL to exepath
  4. Run a basic command !eeversion to check all is fine and I get GC Heap not initialized, so GC mode is not determined yet In plan phase of garbage collection
  5. Next I type !threads and get, Failed to request ThreadStore
  6. Next !threadpool and I get, Failed to request ThreadpoolMgr information

I done some basic google search with these error messages and they all point to not having the correct mscordacwks.dll or opening x86 files in WinDBG x64 or x64 files in WinDBG x86. Didn't sound relevant to me

Any help/guidance is much appreciated

Was it helpful?

Solution

The build number 4.0.30319.17929 is a .NET 4.5 build number. PSSCOR4 will not debug 4.5. You need to use a 4.0 SOS and/or SOSEX, which works for all version of .NET 2.0-4.5.

OTHER TIPS

I have found in the past that there are 3 dlls you need to have the correct version of for debugging .Net.

sos.dll mscorwks.dll mscordacwks.dll

here's how I usually go about getting these dll's http://sjbdeveloper.blogspot.com.au/, although it sounds as though you are using a server based application which means you could possibly just grab them from your production box, assuming you have access to it, or a staging box if you don't.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top