Using a Debugger
If you have a serious problem such as a segmentation fault, it can
usually be found quickly using a good multiple thread debugger such as
gdb
. For example, suppose you get a segmentation violation in
bacula-dir
. You might use the following to find the problem:
<start the Storage and File daemons>
cd dird
gdb ./bacula-dir
run -f -s -c ./dird.conf
<it dies with a segmentation fault> where The -f
option is specified
on the run
command to inhibit dird
from going into the background. You
may also want to add the -s
option to the run command to disable
signals which can potentially interfere with the debugging.
As an alternative to using the debugger, each Bacula daemon has a built in back trace feature when a serious error is encountered. It calls the debugger on itself, produces a back trace, and emails the report to the developer. For more details on this, please see the chapter in the main Bacula manual entitled “What To Do When Bacula Crashes (Kaboom)”.
Possible Next Steps
Go to Memory Leaks.
Go back to Developer Notes.
Go back to Developer Guide.