# Getting a system core dump [[!toc levels=3 ]]� 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. ## Requirements * a dump partition at least as large as main memory (usually swap) * `/var/crash` must 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 ## Setup ### Setting up the dump device * 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 `/etc/rc.conf`: dumpdev="/dev/" * Please refer to [dumpon(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#dumpon§ion8) (http://leaf.dragonflybsd.org/cgi/web-man?command=dumpon§ion=8) for details. ### Setting up /var/crash If `/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 ### Disabling sync on panic Add this to `/etc/sysctl.conf` kern.sync_on_panic=0 # Getting a core dump Hit `` at the desired moment. This will break into the kernel debugger. Then type: # panic 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 `/var/crash`. # Getting a coredump on a remote machine Set debug.debugger_on_panic to 0 or configure your kernel with options DDB_UNATTENDED. # Useful hints * You can have the settings described above take effect without rebooting using the following commands: # dumpon /dev/ # sysctl kern.sync_on_panic=0 * 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): hw.physmem="64M" * On systems derived from DEVELOPMENT (HEAD) after 20 August 2005, you can get a panic directly by pressing `` if you set the `sysctl machdep.enable_panic_key to 1`.