Windbg Load Dump File

Posted on  by 

  1. Windbg Load Dump File Step By Step
  2. Windbg Load Dump File File
  3. Windbg Open Crash Dump
  4. Automotive Load Dump
  5. Windbg Load Dump File

Mar 10, 2014  Hello there, I am trying to debug some Crash Dump Files and I have not been able to load the Dump file properly because the WINDBG says the following error. How do I use WinDBG Debugger to troubleshoot a Blue Screen of Death? Will explain how to read the small memory dump files that Windows creates for. Windows, and open WinDBG. Hi, If you have a crAsh dump file, you don't need local kernel debug mode. Just start windbg and File->open the dump. Then check the symbols path, load missing pdb's, and so on.

Active5 years, 6 months ago

I have a crash dump for a customer's application built with a very old version of our dll (release build, don't have original symbols) that I've been analyzing in WinDbg.

  1. If WinDbg is already running and is in dormant mode, you can open a dump by choosing Open Crash Dump from the File menu or by pressing CTRL+D. When the Open Crash Dump dialog box appears, enter the full path and name of the crash dump file in the File name box, or use the dialog box to select the proper path and file name.
  2. Windbg BSOD crash Minidump files help needed. Loading Kernel Symbols. Dump files are usually found at c: windows minidump. You may need to change your settings in Windows to be able to see the files. To show hidden files select the keyboard shortcut Win+S.
  3. Loading Dump File [C: Windows Minidump Mini020810-02.dmp]. Given that it's failing to load windbg dist extensions, I would assume that you have something seriously.
  4. Debug.NET memory dump with WinDBG – crash course. When you load sosex.dll, it will suggest you to run a command to allow it to build special “index” for the memory dump, so it can quickly “query” information from heap. Run!bhi (build heap index) and wait for a bit until the command completes.

In order to get more information, I rebuilt the dll in release mode, with symbols this time, using the same compiler version and I believe the same settings as when the dll was originally built. I added the symbol file to my symbol path, but the WinDbg extension !itoldyouso tells me the module in the dump doesn't match the PDB file. Enabling SYMOPT_LOAD_ANYTHING doesn't help either.

!itoldyouso tells me they don't match because the module has no pdb sig (value 0), versus the recreated symbol file I made (with a valid pdb sig). How do I get them to match?

JosephA
JosephAJosephA
7472 gold badges10 silver badges23 bronze badges

3 Answers

Have you tried .reload /i foo.dll ?

For verbose output try:

!sym noisy;.reload /i foo.dll;x foo!*test*

Marc ShermanMarc Sherman

Try chkmatch (http://debuginfo.com/tools/chkmatch.html) - it's able to override signatures in pdb file so exe and pdb will match. Also, some time ago I wrote a post about checking pdb files 'offline', maybe you will find there something useful: http://lowleveldesign.wordpress.com/2011/12/09/pdb-file-out-of-debugger/.

lowleveldesignlowleveldesign

Its unfortunate that you do not have the matching symbols for your DLL :(. As per my understanding, any attempt now will not be able to get you an exact matching PDB.

Recycling some old threads which should help :

Your best bet would be

a. sync your code back to the time when the DLL was released

b. build and create PDB using the same tool set.

c. use .reload /i option to load symbols

Community
PlayerPlayer

Not the answer you're looking for? Browse other questions tagged debuggingwindbgsymbolscrash-dumps or ask your own question.

Active9 years, 9 months ago

We released a product (C#.NET library) and didn't store the pdb file of the library, assuming that we can always generate symbol files using the same source code.

Now, we want to analyze crash dump (mini dump) file of an application that is using our library. Since we didn't store the pdb file, I created a new one using the same source code (using the same tag in SVN). Then I tried WinDbg and provided the pdb file, but the debugger didn't like it.

Windbg Load Dump File Step By Step

Since the source code is the same, I think the only difference is the date the build was done (We are using the same machine for releases). Can this really cause the debugger to not load the symbol file? How does WinDbg identify a symbol file?

If I am sure that the symbol file is identical to the original one (except the date), is there a way to force WinDbg to load the symbol file?

Thanks.

Note: If I make a new release and artificially create a dump file, symbols are loaded properly.

user202869user202869

2 Answers

Rebuilding without changing the sources will change the pdb file. See John Robbins' blog entry PDB FILES: WHAT EVERY DEVELOPER MUST KNOW for the gory details.

You need to tell WinDbg to be less picky about the symbol files it's prepared to load. From (a slightly elderly) WinDbg helpfile:

Windbg load dump file download

This symbol option reduces the pickiness of the symbol handler when it is attempting to match symbols.

This option is off by default. Once the debugger is running, it can be turned on or off by using .symopt+0x40 or .symopt-0x40, respectively.

Dan Blanchard

Windbg Load Dump File File

Dan Blanchard
3,8611 gold badge26 silver badges25 bronze badges

'Can this really cause the debugger to not load the symbol file?'...

Windbg Open Crash Dump

Yes: Each time a binary + pdb is build, they get a new GUID. So in addition to the timestamp difference between your dumpfile and new PDB file, the GUIDs will be off.

noctonura

Automotive Load Dump

noctonura

Windbg Load Dump File

6,0288 gold badges39 silver badges72 bronze badges

Not the answer you're looking for? Browse other questions tagged c#windbgsymbols or ask your own question.

Coments are closed