0

I am using WinDbg to load a crash dump from managed code (C#, a console application built for Any CPU). I am debugging on a x64 platform. I have put the related PDB file into the symbol path.

But when I use the lm command to see load models, the symbol of the console EXE file application can not be loaded. I have tried to execute .reload /f, but I still cannot load the symbol for my application.

BTW: I have the full source code for my application. My application is built for .NET 3.0, but the machine I am working on to debug is installed with lastest .NET 3.5 + SP1. Could the mismatch be the issue?

How do I analyze this problem further?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
George2
  • 44,761
  • 110
  • 317
  • 455

1 Answers1

1

To start with, I would try using !sym noisy and then reloading the module. You should see information for the module that it is trying to load. If you have a local cache, a common status you may see is E_PDB_CORRUPT. First delete the symbol file from the local cache and then use .reload /f.

If it can't find the symbol, ensure you have the proper symbol packages available or Use the Microsoft Symbol Server to obtain debug symbol files.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Kris Kumler
  • 6,307
  • 3
  • 24
  • 27
  • If I need to display line number information of .cs file (when executing command like clrstack), do I need to set up source file path or not? My confusion is I am confused whether Windbg is capable to extract line number information from managed code (EXE/DLL) or related PDB file? – George2 Oct 11 '09 at 16:23
  • Thanks Kris, your reply gives me a lot of help. I have followed your advice but has a new issue, appreciated if you could take a look. My new issue is posted here, http://stackoverflow.com/questions/1552927/symbol-issue-when-debugging-c-code – George2 Oct 12 '09 at 05:53