#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. |