apport-retrace(1) | General Commands Manual | apport-retrace(1) |
apport-retrace - regenerate a crash report's stack trace
apport-retrace [ OPTIONS ] report
apport-retrace regenerates the stack traces (both the simple and the threaded one) in an apport crash report from the included core dump. For this it figures out the set of necessary packages and their accompanying debug symbol packages, so that the regenerated stack trace will be fully symbolic and thus become much more useful for developers to fix the problem.
apport-retrace has two modes: By default it will just regenerate traces based on the packages which are currently installed in the system, i. e. it assumes that all necessary debug symbols for the report are installed. When specifying the -S option, it creates a temporary "sandbox" and downloads and installs all necessary packages and debug symbols there. It will not do any changes to your system. This does not require root privileges, as it does not actually use the chroot() system call, but just supplies some "virtual root" options to gdb.
If you regularly use apport-retrace in sandbox mode, it is highly recommended to use a permanent cache directory (the --cache option).
report is either the path to a .crash file, or a bug number. In the latter case, the information is downloaded from the bug report, and either one of the options -g, -s, or -o have to be used to process the report locally, or --auth needs to be specified to attach the resulting stack traces back to the bug report.
The argument points to the packaging system configuration directory, which needs to have a subdirectory for the DistroRelease field in the report (e. g. "config/Ubuntu 11.04/"), which contains the package system configuration.
When using the apt/dpkg backend (Debian/Ubuntu based distributions), the per-release directory must contain an apt sources.list file with package sources for this release, plus the corresponding debug symbol package repository.
Sandboxing is not implemented for other (RPM based) backends right now.
If CONFIG_DIR is "system", it will use the system configuration files, but will then only be able to retrace crashes that happened on the currently running release.
Reprocess recent local gedit crash report after the debug symbol packages have been installed into the system, and show reprocessed stack traces on stdout:
Build a sandbox with all necessary packages and debug symbols, and start a gdb session on the report's core file:
Download crash report bug #12345, run in sandbox mode with local configuration files, and reupload updated traces to the bug (as neither -g or -s is specified):
apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>.
September 9, 2006 | Martin Pitt |