32#ifndef _util_misc_bug_h
33#define _util_misc_bug_h
35#include <util/class/class.h>
36#include <util/state/state.h>
37#include <util/ref/ref.h>
46class Debugger:
public SavableState {
51 volatile int debugger_ready_;
57 int wait_for_debugger_;
63 static Debugger *default_debugger_;
65 Debugger(
const char *exec = 0);
103 virtual void debug(
const char *reason = 0);
Debugger(const Ref< KeyVal > &)
The KeyVal constructor understands the following keywords:
virtual void set_prefix(const char *p)
This sets a prefix which preceeds all messages printing by Debugger.
virtual void set_cmd(const char *)
Sets the command to be exectuted when debug is called.
virtual void handle(int sig)
The Debugger will be actived when sig is caught.
virtual void set_exec(const char *)
Set the name of the exectuble for the current process.
virtual void default_cmd()
Calls set_cmd with a hopefully suitable default.
virtual void set_wait_for_debugger(int)
Turn on or off running an infinite loop after the debugger is started.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
static Debugger * default_debugger()
Return the global default debugger.
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.
static void set_default_debugger(const Ref< Debugger > &)
Set the global default debugger. The initial value is null.
virtual void handle_defaults()
This calls handle(int) with all of the major signals.
virtual void traceback(const char *reason=0)
The traceback member attempts a stack traceback for the current process.
virtual void set_exit_on_signal(int)
Turn on or off exit after a signel. The default is on.
virtual void got_signal(int sig)
Called with signal sig is received. This is mainly for internal use.
virtual void debug(const char *reason=0)
The debug member attempts to start a debugger running on the current process.
virtual void set_prefix(int p)
Set the prefix to the decimal represention of p followed by a ": ".
A template class that maintains references counts.
Definition ref.h:332
Restores objects that derive from SavableState.
Definition statein.h:70
Serializes objects that derive from SavableState.
Definition stateout.h:61