23 #if defined (HAVE_CONFIG_H)
51 std::string parent_fcn_name = m_fcn->parent_fcn_name ();
53 if (print_subfn && ! parent_fcn_name.empty ())
56 if (m_fcn->is_anonymous_function ())
59 retval += m_fcn->name ();
76 else if (this->fcn_name () != rhs.
fcn_name ())
136 size_t k =
cs.size ();
156 curr_user_frame = retval - curr_user_frame - 1;
168 while (p !=
cs.begin ())
196 while (p !=
cs.begin ())
222 while (p !=
cs.begin ())
338 while (p !=
cs.begin ())
357 "column",
"scope",
"context", 0
367 std::list<octave_call_stack::stack_frame>
371 std::list<octave_call_stack::stack_frame>
retval;
375 size_t nframes = nskip <= user_code_frames ? user_code_frames - nskip : 0;
378 curr_user_frame = nframes - curr_user_frame - 1;
393 retval.push_back (elt);
404 bool print_subfn)
const
406 std::list<octave_call_stack::stack_frame> frames
409 size_t nframes = frames.size ();
422 for (std::list<octave_call_stack::stack_frame>::const_iterator
p = frames.begin ();
423 p != frames.end ();
p++)
457 <<
" at line " << elt.
m_line
461 <<
"[context = " << elt.
m_context <<
"])"
485 if ((incr < 0 && xframe == 0) || (incr > 0 && xframe ==
cs.size () - 1))
510 std::ostringstream buf;
513 buf <<
"stopped in " << elt.
fcn_name ()
514 <<
" at line " << elt.
m_line
518 buf <<
"at top level" << std::endl;
543 bool skipped =
false;
547 xframe =
cs[xframe].m_prev;
const Cell & contents(const_iterator p) const
OCTAVE_EXPORT octave_value_list column
For example cd octave end example noindent changes the current working directory to file
static const std::string anonymous
std::string fcn_name(bool print_subfn=true) const
void do_push(octave_function *fcn, symbol_table::scope_id scope, symbol_table::context_id context)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
bool operator==(const stack_frame &rhs) const
int do_caller_user_code_column(void) const
virtual bool is_user_code(void) const
std::list< octave_call_stack::stack_frame > do_backtrace_frames(size_t nskip, octave_idx_type &curr_user_frame) const
std::string fcn_file_name(void) const
bool do_all_scripts(void) const
int do_debug_user_code_line(void) const
static void create_instance(void)
OCTAVE_EXPORT octave_value_list search each directory of the loadpath for element of the cell array and return the first that matches If the second optional argument return a cell array containing the list of all files that have the same name in the path If no files are found
static scope_id top_scope(void)
octave_user_code * do_debug_user_code(void) const
std::deque< stack_frame > cs
static std::string fcn_file_name(const octave_value &fcn)
void do_goto_caller_frame(void)
std::deque< stack_frame >::const_iterator const_iterator
static llvm::LLVMContext & context
int do_current_column(void) const
bool do_goto_frame(size_t n, bool verbose)
int do_caller_user_code_line(void) const
static const octave_fields bt_fields(bt_fieldnames)
virtual bool is_user_script(void) const
static const char * bt_fieldnames[]
octave_map do_backtrace(size_t nskip, octave_idx_type &curr_user_frame, bool print_subfn) const
symbol_table::scope_id m_scope
size_t do_num_user_code_frames(octave_idx_type &curr_user_frame) const
bool do_goto_frame_relative(int n, bool verbose)
virtual std::string fcn_file_name(void) const
=val(i)}if ode{val(i)}occurs in table i
static octave_map empty_backtrace(void)
static octave_call_stack * instance
Vector representing the dimensions (size) of an Array.
int do_current_line(void) const
octave_user_code * do_caller_user_code(size_t nskip) const
std::deque< stack_frame >::const_reverse_iterator const_reverse_iterator
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
int do_debug_user_code_column(void) const
static void cleanup_instance(void)
symbol_table::context_id m_context
static void set_scope_and_context(scope_id scope, context_id context)
void do_goto_base_frame(void)