1 .\" Hey, EMACS: -*- nroff -*-
2 .\" First parameter, NAME, should be all caps
3 .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
4 .\" other parameters are allowed: see man(7), man(1)
5 .TH BTRACEBACK 1 "6 December 2009" "Kern Sibbald" "Network backup, recovery and verification"
6 .\" Please adjust this date whenever revising the manpage.
9 btraceback \- wrapper script around gdb and bsmtp
17 \fBbtraceback\fR is a wrapper shell script around the \fBgdb\fR debugger
18 (or \fBdbx\fR on Solaris systems) and \fBbsmtp\fR, provided for debugging purposes.
21 \fBbtraceback\fR is called by the exception handlers of the Bacula
22 daemons during a crash. It can also be called interactively to view
23 the current state of the threads belonging to a process, but this is
24 not recommended unless you are trying to debug a problem (see below).
27 In order to work properly, debugging symbols must be available to the
28 debugger on the system, and gdb, or dbx (on Solaris systems) must be
29 available in the \fB$PATH\fR.
31 If the Director or Storage daemon runs under a non-root uid, you will
32 probably need to be modify the \fBbtraceback\fR script to elevate
33 privileges for the call to \fBgdb\fR/\fBdbx\fR, to ensure it has the proper
34 permissions to debug when called by the daemon.
36 Although Bacula's use of \fBbtraceback\fR within its exception handlers is
37 always safe, manual or interactive use of \fBbtraceback\fR is subject to the
38 same risks than live debugging of any program, which means it could cause
39 Bacula to crash under rare and abnormal circumstances. Consequently we
40 do not recommend manual use of \fBbtraceback\fR in production environments
41 unless it is required for debugging a problem.
44 \fBbtracback\fR relies on \fB$PATH\fR to find the debugger.
48 .I /usr/lib/bacula/btraceback
53 .I /usr/sbin/btraceback
55 symbolic link to \fI/usr/lib/bacula/btraceback\fR
58 .I /etc/bacula/scripts/btraceback.gdb
60 the GDB command batch used to output a stack trace
64 This manual page was written by Lucas B. Cohen