Name

dumper — Dump core from WIN32PID to FILENAME.core

Synopsis

dumper [OPTION] FILENAME WIN32PID
      

Options

-n, --nokill   don't terminate the dumped process
-d, --verbose  be verbose while dumping
-h, --help     output help information and exit
-q, --quiet    be quiet while dumping (default)
-V, --version  output version information and exit

Description

The dumper utility can be used to create a core dump of running Windows process. This core dump can be later loaded to gdb and analyzed. One common way to use dumper is to plug it into cygwin's Just-In-Time debugging facility by adding

error_start=x:\path\to\dumper.exe

to the CYGWIN environment variable. Please note that x:\path\to\dumper.exe is Windows-style and not cygwin path. If error_start is set this way, then dumper will be started whenever some program encounters a fatal error.

dumper can be also be started from the command line to create a core dump of any running process.

For historical reasons, unless the -n option is given, after the core dump is created and when the dumper exits, the target process is also terminated.

To save space in the core dump, dumper doesn't write those portions of the target process's memory space that are loaded from executable and dll files and are unchanged (e.g. program code). Instead, dumper saves paths to the files which contain that data. When a core dump is loaded into gdb, it uses these paths to load the appropriate files. That means that if you create a core dump on one machine and try to debug it on another, you'll need to place identical copies of the executable and dlls in the same directories as on the machine where the core dump was created.