dumper — Dump core from WIN32PID to FILENAME.core
dumper
[-n] [-d] [-q] FILENAME
WIN32PID
dumper
-h | -V
-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
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.