bsdcrashtar
—
archive kernel crash files
bsdcrashtar |
[options] [<crash.tar.gz>] |
The bsdcrashtar
utility creates tar a
archive that contains all files needed for debugging FreeBSD kernel crash
(vmcore, kernel, loaded modules, sources that appear in backtrace). This is
useful for debugging a crash on another host, sending it to developers or if
you are going to upgrade the kernel on crashed host but would like to keep
crashdump in case the developers ask you to provide additional info.
Created tar archive contains also a script that when being run
inside unpacked archive will give
kgdb(1)
session with crash core loaded in it. The script should be run with root
privileges because it does
chroot(8)
before starting
kgdb(1).
By default, bsdcrashtar
archives the most
recent core dump in the core dump directory. A specific core dump may be
specified via either the core or
dumpnr arguments. Once
bsdcrashtar
has located a core dump, it analyzes the
core dump to determine the exact version of the kernel that generated the
core. It then looks for a matching kernel file under each of the
subdirectories in /boot. The location of the kernel
file can also be explicitly provided via the kernel
argument. By default the resulting tar archived is stored in the core dump
directory with a name crash.XX.tar.gz.
The options are as follows:
-h
- Print the minihelp and exit.
-d
crashdir
- Specify an alternate core dump directory. The default crash dump directory
is /var/crash.
-n
dumpnr
- Use the core dump saved in
vmcore.dumpnr instead of the
latest core in the core dump directory.
-k
kernel
- Specify an explicit kernel file.
-c
core
- Specify an explicit core file.
As a core file presents a content of a kernel virtual memory at
the moment of the crash it might contain information you would not like to
become public. So think twice before giving the access to a core to other
person.
You can debug an archived crash only on a host of the same
hardware platform running FreeBSD of the same major version (abi
compatible).
As it is rather experimental utility and depends on proper parsing
of gdb(1)
output it is highly recommended to check created tar archive if you want to
be sure it contains all necessary files.