#include <bug.h>
Inheritance diagram for Debugger


Public Methods | |
| Debugger (const char *exec=0) | |
| Debugger (const Ref< KeyVal > &) | |
| The KeyVal constructor understands the following keywords:. More... | |
| Debugger (StateIn &) | |
| ~Debugger () | |
| virtual void | debug (const char *reason=0) |
| The debug member attempts to start a debugger running on the current process. | |
| virtual void | traceback (const char *reason=0) |
| The traceback member attempts a stack traceback for the current process. More... | |
| virtual void | set_debug_on_signal (int) |
| Turn on or off debugging on a signel. The default is on. | |
| virtual void | set_traceback_on_signal (int) |
| Turn on or off traceback on a signel. The default is on. | |
| virtual void | set_exit_on_signal (int) |
| Turn on or off exit after a signel. The default is on. | |
| virtual void | set_wait_for_debugger (int) |
| Turn on or off running an infinite loop after the debugger is started. More... | |
| virtual void | handle (int sig) |
| The Debugger will be actived when sig is caught. | |
| virtual void | handle_defaults () |
| This calls handle(int) with all of the major signals. | |
| virtual void | set_prefix (const char *p) |
| This sets a prefix which preceeds all messages printing by Debugger. | |
| virtual void | set_prefix (int p) |
| Set the prefix to the decimal represention of p followed by a ": ". | |
| virtual void | set_cmd (const char *) |
| Sets the command to be exectuted when debug is called. More... | |
| virtual void | default_cmd () |
| Calls set_cmd with a hopefully suitable default. | |
| virtual void | set_exec (const char *) |
| Set the name of the exectuble for the current process. More... | |
| virtual void | got_signal (int sig) |
| Called with signal sig is received. This is mainly for internal use. | |
| void | save_data_state (StateOut &) |
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
Static Public Methods | |
| void | set_default_debugger (const Ref< Debugger > &) |
| Set the global default debugger. The initial value is null. | |
| Debugger* | default_debugger () |
| Return the global default debugger. | |
Protected Methods | |
| void | init () |
Protected Attributes | |
| char* | prefix_ |
| char* | exec_ |
| char* | cmd_ |
| int | debugger_ready_ |
| int | debug_ |
| int | traceback_ |
| int | exit_on_signal_ |
| int | sleep_ |
| int | wait_for_debugger_ |
| int | handle_sigint_ |
| int* | mysigs_ |
Static Protected Attributes | |
| Debugger* | default_debugger_ |
It can try things such as start a debugger running where the program died or it can attempt to produce a stack traceback showing roughly where the program died. These attempts will not always succeed.
|
|
The KeyVal constructor understands the following keywords:.
|
|
|
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data. Reimplemented from SavableState. |
|
|
Sets the command to be exectuted when debug is called. The character sequence "" is replaced by the executable name (see set_exec), "" is replaced by the current process id, and "" is replaced by the prefix. |
|
|
Set the name of the exectuble for the current process. It is up to the programmer to set this, even if the Debugger is initialized with the KeyVal constructor. |
|
|
Turn on or off running an infinite loop after the debugger is started. This loop gives the debugger a chance to attack to the process. The default is on. |
|
|
The traceback member attempts a stack traceback for the current process. A symbol table must be saved for the executable if any sense is to be made of the traceback. Tracebacks are currently available only for a limited number of architectures. |