A full system core dump (also called post-mortem dump) is sometimes needed to track down a bug in the DragonFlyBSD kernel.
Please note: A full core dump is obtained by triggering a kernel panic. Like when pulling the power plug from the wall socket, unsaved data will be lost, recently saved data might be lost, and filesystems mounted async might be destroyed.
a dump partition at least as large as main memory (usually swap)
/var/crashmust be on a filesystem with enough space to hold the dump (the size of main memory).
sync on panic should be disabled in the kernel
If your swap partition is as large as main memory, it can be used as a dump device.
If your swap partition is too small, you use any partition that doesn't contain a filesystem.
Add this to
Please refer to dumpon(8) (http://leaf.dragonflybsd.org/cgi/web-man?command=dumpon§ion=8) for details.
/var/crash is residing on a filesystem without enough room to accommodate the core dump, you can move it to a different filesystem and use a symbolic link.
# cpdup /var/crash /home/var.crash # rm -rf /var/crash # ln -s /home/var.crash /var/crash
Add this to
<ctrl-alt-esc> at the desired moment. This will break into the kernel debugger. Then type:
The machine should reboot automatically. Sometimes it might require a cold reset.
If the machine has dropped to a dbb> prompt by itself you can type the following to get a useful dump:
# call dumpsys
During the following startup the core dump will be automatically saved to
Set debug.debugger_on_panic to 0 or configure your kernel with options DDB_UNATTENDED.
You can have the settings described above take effect without rebooting using the following commands:
Core files can get quite unwieldy with large amounts of main memory. In order to temporarily limit the amount of physical memory add a line similar to the following to /boot/loader.conf (and remove it again once you've produced the core dump):
On systems derived from DEVELOPMENT (HEAD) after 20 August 2005, you can get a panic directly by pressing
<ctrl-alt-shift-esc>if you set the
sysctl machdep.enable_panic_key to 1.