23 #if ! defined (octave_debug_h)
24 #define octave_debug_h 1
26 #include "octave-config.h"
74 static bool instance_ok (
void);
78 const intmap& lines = intmap (),
82 ? instance->do_add_breakpoint (
fname, lines, condition) : intmap ();
87 const intmap& lines = intmap ())
90 ? instance->do_remove_breakpoint (
fname, lines) : 0;
98 ? instance->do_remove_all_breakpoints_in_file (fname, silent)
106 instance->do_remove_all_breakpoints ();
114 return instance_ok ()
115 ? instance->do_get_breakpoint_list (fname_list) : fname_bp_map ();
121 return instance_ok () ? instance->do_have_breakpoints () : 0;
128 return (errors_that_stop.empty () || errors_that_stop.count (ID));
135 return (caught_that_stop.empty () || caught_that_stop.count (ID));
142 return (warnings_that_stop.empty () || warnings_that_stop.count (ID));
145 static octave_map stop_on_err_warn_status (
bool toScreen);
147 static void dbstop_process_map_args (
const octave_map& mv);
149 static void dbclear_all_signals (
void);
151 static bool condition_valid (
const std::string& cond);
184 const intmap& lines);
186 int do_remove_breakpoint (
const std::string&,
const intmap& lines);
194 void do_remove_all_breakpoints (
void);
static bool debug_on_caught(const std::string &ID)
static void cleanup_instance(void)
bool do_have_breakpoints(void)
static fname_bp_map get_breakpoint_list(const octave_value_list &fname_list)
static intmap add_breakpoint(const std::string &fname="", const intmap &lines=intmap(), const std::string &condition=bp_empty_string)
fname_bp_map::const_iterator const_fname_bp_map_iterator
intmap::const_iterator const_intmap_iterator
std::map< std::string, intmap > fname_line_map
static bool have_breakpoints(void)
std::set< std::string >::iterator bp_set_iterator
static std::string bp_empty_string("")
std::set< std::string > bp_set
static bool debug_on_warn(const std::string &ID)
void parse_dbfunction_params(const char *who, const octave_value_list &args, std::string &symbol_name, bp_table::intmap &lines, std::string &cond)
fname_bp_map::iterator fname_bp_map_iterator
bp_type(int l, const std::string &c)
static std::set< std::string > caught_that_stop
intmap::iterator intmap_iterator
std::set< std::string >::const_iterator const_bp_set_iterator
static std::set< std::string > warnings_that_stop
std::map< int, int > intmap
fname_line_map::iterator fname_line_map_iterator
std::map< std::string, std::list< bp_type > > fname_bp_map
std::string get_file_line(const std::string &fname, size_t line)
static intmap remove_all_breakpoints_in_file(const std::string &fname, bool silent=false)
the sparsity preserving column transformation such that that defines the pivoting threshold can be given in which case it defines the c
static std::set< std::string > errors_that_stop
fname_line_map::const_iterator const_fname_line_map_iterator
static bp_table * instance
static void remove_all_breakpoints(void)
static int remove_breakpoint(const std::string &fname="", const intmap &lines=intmap())
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
static bool debug_on_err(const std::string &ID)