[PATCH 00/12] Minidump in WineDbg

Eric Pouech eric.pouech at wanadoo.fr
Fri Feb 24 15:02:33 CST 2006

The following series implements minidump support in WineDbg.

In Windows's slang, mini translates into core (in Unix world).

With those patches, WineDbg is extented in the following ways:
- one can ask (in very similar way to what --auto already does) to
  store every information related to a crash dump into a file for
  later debugging
- one can ask to reload such a file, and do some debugging operation.

Basically, what's available from the minidump (and correctly restored
in winedbg) is:
- process information (and system info)
- threads information (number, PC..)
- loaded modules information
- stack for every thread
- exception information

This lets(*):
- do backtrace
- inspect every frame on every thread
- inspect every variable on every frame on every thread
- loaded modules information (both ELF & PE)
- inspect the source (of every frame, or at every possible address)
- look at exception information
- disassemble around the faulting address

It doesn't allow:
- inspection of global variables (this is doable, it will just grow
  the size of the file)
- full disassembly (storing all code into minidump is a bad idea)
- restarting the execution (it's post mortem debugging)

(*) this implies that the debug information of the modules used when
    the minidump are created are the same used for the debugging
    session later on => this is the next area of improvment. Note: a
    checksum of the module (ELF or PE) is stored in the minidump, so
    WineDbg checks whether one reloads the correct files and debugging

Eric Pouech

More information about the wine-patches mailing list