crash --version (return code: 0)
crash 7.1.9
Copyright (C) 2002-2016 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011 NEC Corporation
Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. Enter "help copying" to see the conditions.
This program has absolutely no warranty. Enter "help warranty" for details.
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
crash --help (return code: 0)
USAGE:
crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS] (dumpfile form)
crash [OPTION]... [NAMELIST] (live system form)
OPTIONS:
NAMELIST
This is a pathname to an uncompressed kernel image (a vmlinux
file), or a Xen hypervisor image (a xen-syms file) which has
been compiled with the "-g" option. If using the dumpfile form,
a vmlinux file may be compressed in either gzip or bzip2 formats.
MEMORY-IMAGE
A kernel core dump file created by the netdump, diskdump, LKCD
kdump, xendump or kvmdump facilities.
If a MEMORY-IMAGE argument is not entered, the session will be
invoked on the live system, which typically requires root privileges
because of the device file used to access system RAM. By default,
/dev/crash will be used if it exists. If it does not exist, then
/dev/mem will be used; but if the kernel has been configured with
CONFIG_STRICT_DEVMEM, then /proc/kcore will be used. It is permissible
to explicitly enter /dev/crash, /dev/mem or /proc/kcore.
An @ADDRESS value must be appended to the MEMORY-IMAGE if the dumpfile
is a raw RAM dumpfile that has no header information describing the file
contents. Multiple MEMORY-IMAGE@ADDRESS ordered pairs may be entered,
with each dumpfile containing a contiguous block of RAM, where the ADDRESS
value is the physical start address of the block expressed in hexadecimal.
The physical address value(s) will be used to create a temporary ELF header
in /var/tmp, which will only exist during the crash session. If a raw RAM
dumpile represents a live memory source, such as that specified by the QEMU
mem-path argument of a memory-backend-file object, then "live:" must be
prepended to the MEMORY-IMAGE name.
mapfile
If the NAMELIST file is not the same kernel that is running
(live system form), or the kernel that was running when the system
crashed (dumpfile form), then the System.map file of the original
kernel should be entered on the command line.
-h [option]
--help [option]
Without an option argument, display a crash usage help message.
If the option argument is a crash command name, the help page
for that command is displayed. If it is the string "input", a
page describing the various crash command line input options is
displayed. If it is the string "output", a page describing command
line output options is displayed. If it is the string "all", then
all of the possible help messages are displayed. After the help
message is displayed, crash exits.
-s
Silently proceed directly to the "crash>" prompt without displaying
any version, GPL, or crash initialization data during startup, and by
default, runtime command output is not passed to any scrolling command.
-i file
Execute the command(s) contained in "file" prior to displaying
the "crash>" prompt for interactive user input.
-d num
Set the internal debug level. The higher the number, the more
debugging data will be printed when crash initializes and runs.
-S
Use /boot/System.map as the mapfile.
-e vi | emacs
Set the readline(3) command line editing mode to "vi" or "emacs".
The default editing mode is "vi".
-f
Force the usage of a compressed vmlinux file if its original
name does not start with "vmlinux".
-k
Indicate that the NAMELIST file is an LKCD "Kerntypes" debuginfo file.
-g [namelist]
Determine if a vmlinux or xen-syms namelist file contains debugging data.
-t
Display the system-crash timestamp and exit.
-L
Attempt to lock all of its virtual address space into memory by
calling mlockall(MCL_CURRENT|MCL_FUTURE) during initialization.
If the system call fails, an error message will be displayed,
but the session continues.
-c tty-device
Open the tty-device as the console used for debug messages.
-p page-size
If a processor's page size cannot be determined by the dumpfile,
and the processor default cannot be used, use page-size.
-o filename
Only used with the MEMORY-IMAGE@ADDRESS format for raw RAM dumpfiles,
specifies a filename of a new ELF vmcore that will be created and used
as the dumpfile. It will be saved to allow future use as a standalone
vmcore, replacing the original raw RAM dumpfile.
-m option=value
--machdep option=value
Pass an option and value pair to machine-dependent code. These
architecture-specific option/pairs should only be required in
very rare circumstances:
X86_64:
phys_base=<physical-address>
irq_eframe_link=<value>
max_physmem_bits=<value>
kernel_image_size=<value>
vm=orig (pre-2.6.11 virtual memory address ranges)
vm=2.6.11 (2.6.11 and later virtual memory address ranges)
vm=xen (Xen kernel virtual memory address ranges)
vm=xen-rhel4 (RHEL4 Xen kernel virtual address ranges)
PPC64:
vm=orig
vm=2.6.14 (4-level page tables)
IA64:
phys_start=<physical-address>
init_stack_size=<size>
vm=4l (4-level page tables)
ARM:
phys_base=<physical-address>
ARM64:
phys_offset=<physical-address>
kimage_voffset=<kimage_voffset-value>
X86:
page_offset=<CONFIG_PAGE_OFFSET-value>
-x
Automatically load extension modules from a particular directory.
The directory is determined by the following order of precedence:
(1) the directory specified in the CRASH_EXTENSIONS shell
environment variable
(2) /usr/lib64/crash/extensions (64-bit architectures)
(3) /usr/lib/crash/extensions (32-bit architectures)
(4) the ./extensions subdirectory of the current directory
--active
Track only the active task on each cpu.
--buildinfo
Display the crash binary's build date, the user ID of the builder,
the hostname of the machine where the build was done, the target
architecture, the version number, and the compiler version.
--memory_module modname
Use the modname as an alternative kernel module to the crash.ko
module that creates the /dev/crash device.
--memory_device device
Use device as an alternative device to the /dev/crash, /dev/mem
or /proc/kcore devices.
--log dumpfile
Dump the contents of the kernel log buffer. A kernel namelist
argument is not necessary, but the dumpfile must contain the
VMCOREINFO data taken from the original /proc/vmcore ELF header.
--no_kallsyms
Do not use kallsyms-generated symbol information contained within
kernel module object files.
--no_modules
Do not access or display any kernel module related information.
--no_ikconfig
Do not attempt to read configuration data that was built into
kernels configured with CONFIG_IKCONFIG.
--no_data_debug
Do not verify the validity of all structure member offsets and
structure sizes that it uses.
--no_kmem_cache
Do not initialize the kernel's slab cache infrastructure, and
commands that use kmem_cache-related data will not work.
--no_elf_notes
Do not use the registers from the ELF NT_PRSTATUS notes saved
in a compressed kdump header for backtraces.
--kmem_cache_delay
Delay the initialization of the kernel's slab cache infrastructure
until it is required by a run-time command.
--readnow
Pass this flag to the embedded gdb module, which will override
the two-stage strategy that it uses for reading symbol tables
from the NAMELIST. If module symbol tables are loaded during
runtime with the "mod" command, the same override will occur.
--smp
Specify that the system being analyzed is an SMP kernel.
-v
--version
Display the version of the crash utility, the version of the
embedded gdb module, GPL information, and copyright notices.
--cpus number
Specify the number of cpus in the SMP system being analyzed.
--osrelease dumpfile
Display the OSRELEASE vmcoreinfo string from a kdump dumpfile
header.
--hyper
Force the session to be that of a Xen hypervisor.
--p2m_mfn pfn
When a Xen Hypervisor or its dom0 kernel crashes, the dumpfile
is typically analyzed with either the Xen hypervisor or the dom0
kernel. It is also possible to analyze any of the guest domU
kernels if the pfn_to_mfn_list_list pfn value of the guest kernel
is passed on the command line along with its NAMELIST and the
dumpfile.
--xen_phys_start physical-address
Supply the base physical address of the Xen hypervisor's text
and static data for older xendump dumpfiles that did not pass
that information in the dumpfile header.
--zero_excluded
If the makedumpfile(8) facility has filtered a compressed kdump
dumpfile to exclude various types of non-essential pages, or has
marked a compressed or ELF kdump dumpfile as incomplete due to
an ENOSPC or other error during its creation, any attempt to
read missing pages will fail. With this flag, reads from any
of those pages will return zero-filled memory.
--no_panic
Do not attempt to find the task that was running when the kernel
crashed. Set the initial context to that of the "swapper" task
on cpu 0.
--more
Use /bin/more as the command output scroller, overriding the
default of /usr/bin/less and any settings in either ./.crashrc
or $HOME/.crashrc.
--less
Use /usr/bin/less as the command output scroller, overriding any
settings in either ./.crashrc or $HOME/.crashrc.
--CRASHPAGER
Use the output paging command defined in the CRASHPAGER shell
environment variable, overriding any settings in either ./.crashrc
or $HOME/.crashrc.
--no_scroll
Do not pass run-time command output to any scrolling command.
--no_strip
Do not strip cloned kernel text symbol names.
--no_crashrc
Do not execute the commands in either $HOME/.crashrc or ./.crashrc.
--mod directory
When loading the debuginfo data of kernel modules with the "mod -S"
command, search for their object files in directory instead of in
the standard location.
--src directory
Search for the kernel source code in directory instead of in the
standard location that is compiled into the debuginfo data.
--reloc size
When analyzing live x86 kernels configured with a CONFIG_PHYSICAL_START
value that is larger than its CONFIG_PHYSICAL_ALIGN value, then it will
be necessary to enter a relocation size equal to the difference between
the two values.
--hash count
Set the number of internal hash queue heads used for list gathering
and verification. The default count is 32768.
--kaslr offset | auto
If an x86 or x86_64 kernel was configured with CONFIG_RANDOMIZE_BASE,
the offset value is equal to the difference between the symbol values
compiled into the vmlinux file and their relocated KASLR value. If
set to auto, the KASLR offset value will be automatically calculated.
--minimal
Bring up a session that is restricted to the log, dis, rd, sym,
eval, set and exit commands. This option may provide a way to
extract some minimal/quick information from a corrupted or truncated
dumpfile, or in situations where one of the several kernel subsystem
initialization routines would abort the crash session.
--kvmhost [32|64]
When examining an x86 KVM guest dumpfile, this option specifies
that the KVM host that created the dumpfile was an x86 (32-bit)
or an x86_64 (64-bit) machine, overriding the automatically
determined value.
--kvmio <size>
override the automatically-calculated KVM guest I/O hole size.
--offline [show|hide]
Show or hide command output that is associated with offline cpus,
overriding any settings in either ./.crashrc or $HOME/.crashrc.
FILES:
.crashrc
Initialization commands. The file can be located in the user's
HOME directory and/or the current directory. Commands found in
the .crashrc file in the HOME directory are executed before
those in the current directory's .crashrc file.
ENVIRONMENT VARIABLES:
EDITOR
Command input is read using readline(3). If EDITOR is set to
emacs or vi then suitable keybindings are used. If EDITOR is
not set, then vi is used. This can be overridden by "set vi" or
"set emacs" commands located in a .crashrc file, or by entering
"-e emacs" on the crash command line.
CRASHPAGER
If CRASHPAGER is set, its value is used as the name of the program
to which command output will be sent. If not, then command output
output is sent to "/usr/bin/less -E -X" by default.
CRASH_MODULE_PATH
Specifies an alternative directory tree to search for kernel
module object files.
CRASH_EXTENSIONS
Specifies a directory containing extension modules that will be
loaded automatically if the -x command line option is used.