dumper — Dump core from WIN32PID to FILENAME.core
dumper [OPTION] FILENAME WIN32PID
-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. Unfortunately, because of a Windows API limitation, when a core dump is created and dumper exits, the target process is terminated too.
To save space in the core dump, dumper doesn't write those portions of target process' memory space that are loaded from executable and dll files and are unchangeable, such as program code and debug info. Instead, dumper saves paths to files which contain that data. When a core dump is loaded into gdb, it uses these paths to load 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.