systemd/man/coredumpctl.xml
2016-05-17 20:43:27 -04:00

260 lines
8.1 KiB
XML

<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2012 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="coredumpctl" conditional='ENABLE_COREDUMP'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>coredumpctl</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Zbigniew</firstname>
<surname>Jędrzejewski-Szmek</surname>
<email>zbyszek@in.waw.pl</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>coredumpctl</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>coredumpctl</refname>
<refpurpose>Retrieve and process saved core dumps and metadata</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>coredumpctl</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="req">COMMAND</arg>
<arg choice="opt" rep="repeat">PID|COMM|EXE|MATCH</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>coredumpctl</command> is a tool that can be used to retrieve and process core
dumps and metadata which were saved by
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
<varlistentry>
<term><option>--no-legend</option></term>
<listitem><para>Do not print column headers.</para></listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="no-pager" />
<varlistentry>
<term><option>-1</option></term>
<listitem><para>Show information of a single core dump only, instead of listing
all known core dumps.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-F</option> <replaceable>FIELD</replaceable></term>
<term><option>--field=</option><replaceable>FIELD</replaceable></term>
<listitem><para>Print all possible data values the specified
field takes in matching core dump entries of the
journal.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-o</option> <replaceable>FILE</replaceable></term>
<term><option>--output=</option><replaceable>FILE</replaceable></term>
<listitem><para>Write the core to <option>FILE</option>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-D</option> <replaceable>DIR</replaceable></term>
<term><option>--directory=</option><replaceable>DIR</replaceable></term>
<listitem><para>Use the journal files in the specified <option>DIR</option>.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Commands</title>
<para>The following commands are understood:</para>
<variablelist>
<varlistentry>
<term><command>list</command></term>
<listitem><para>List core dumps captured in the journal
matching specified characteristics. If no command is
specified, this is the implied default.</para>
<para>It's worth noting that different restrictions apply to
data saved in the journal and core dump files saved in
<filename>/var/lib/systemd/coredump</filename>, see overview in
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
Thus it may very well happen that a particular core dump is still listed
in the journal while its corresponding core dump file has already been
removed.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>info</command></term>
<listitem><para>Show detailed information about core dumps
captured in the journal.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>dump</command></term>
<listitem><para>Extract the last core dump matching specified
characteristics. The core dump will be written on standard
output, unless an output file is specified with
<option>--output=</option>. </para></listitem>
</varlistentry>
<varlistentry>
<term><command>gdb</command></term>
<listitem><para>Invoke the GNU debugger on the last core dump
matching specified characteristics. </para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Matching</title>
<para>A match can be:</para>
<variablelist>
<varlistentry>
<term><replaceable>PID</replaceable></term>
<listitem><para>Process ID of the
process that dumped
core. An integer.</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>COMM</replaceable></term>
<listitem><para>Name of the executable (matches
<option>COREDUMP_COMM=</option>). Must not contain slashes.
</para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>EXE</replaceable></term>
<listitem><para>Path to the executable (matches
<option>COREDUMP_EXE=</option>). Must contain at least one
slash. </para></listitem>
</varlistentry>
<varlistentry>
<term><replaceable>MATCH</replaceable></term>
<listitem><para>General journalctl predicates (see
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>).
Must contain an equal sign. </para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned; otherwise, a non-zero failure
code is returned. Not finding any matching core dumps is treated as
failure.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
<example>
<title>List all the core dumps of a program named foo</title>
<programlisting># coredumpctl list foo</programlisting>
</example>
<example>
<title>Invoke gdb on the last core dump</title>
<programlisting># coredumpctl gdb</programlisting>
</example>
<example>
<title>Show information about a process that dumped core,
matching by its PID 6654</title>
<programlisting># coredumpctl info 6654</programlisting>
</example>
<example>
<title>Extract the last core dump of /usr/bin/bar to a file named
<filename noindex="true">bar.coredump</filename></title>
<programlisting># coredumpctl -o bar.coredump dump /usr/bin/bar</programlisting>
</example>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>