view etc/gdbinit @ 30920:47cbc69e66cd

eliminate direct access to call stack from evaluator The call stack is an internal implementation detail of the evaluator. Direct access to it outside of the evlauator should not be needed. * pt-eval.h (tree_evaluator::get_call_stack): Delete.
author John W. Eaton <jwe@octave.org>
date Fri, 08 Apr 2022 15:19:22 -0400
parents 796f54d4ddbf
children 597f3ee61a48
line wrap: on
line source

########################################################################
##
## Copyright (C) 2010-2022 The Octave Project Developers
##
## See the file COPYRIGHT.md in the top-level directory of this
## distribution or <https://octave.org/copyright/>.
##
## This file is part of Octave.
##
## Octave is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## Octave is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Octave; see the file COPYING.  If not, see
## <https://www.gnu.org/licenses/>.
##
########################################################################

############################################################
## Disable the next line if you really need to see the
## thread create/exit messages.

set print thread-events off

## Helpful macros for debugging Octave.

## Programming Note: Don't strip the trailing space from the lines that
## end with '\ '.  GDB strips spaces from the ends of the lines, so
## these are required to preserve the whitespace.

############################################################
## Display a dim-vector object.

define display-dims
  echo ndims: \ 
  output $arg0.m_num_dims
  echo \ndims: \ 
  output *$arg0.m_dims@$arg0.m_num_dims
  echo \n
  dont-repeat
end

document display-dims
Usage: display-dims DIM_VECTOR
Display the contents of an Octave dimension vector.
end

############################################################
## Display a dense array object.

define display-dense-array
  echo array object: \ 
  output $arg0
  echo \ndimensions:\n
  display-dims $arg0.m_dimensions
  echo \nrep = \ 
  output *$arg0.m_rep
  echo \nrep.data = \ 
  output *$arg0.m_rep.m_data@$arg0.m_rep.m_len
  echo \nrep.slice_data = \ 
  output *$arg0.m_slice_data@$arg0.m_slice_len
  echo \n
  dont-repeat
end

document display-dense-array
Usage: display-dense-array ARRAY
Display the contents of an ordinary, i.e., dense Octave array.

See also [display-sparse-array] for showing the contents
of sparse Octave arrays.
end

############################################################
## Display a sparse array object.

define display-sparse-array
  echo sparse object: \ 
  output $arg0
  echo \ndimensions:\n 
  display-dims $arg0.m_dimensions
  echo \nrep = \ 
  output *$arg0.m_rep
  echo \nrep.data = \ 
  output *$arg0.m_rep.m_data@$arg0.m_rep.m_nzmax
  echo \nrep.ridx = \ 
  output *$arg0.m_rep.m_ridx@$arg0.m_rep.m_nzmax
  echo \nrep.cidx = \ 
  output *$arg0.m_rep.m_cidx@($arg0.m_rep.m_ncols+1)
  echo \n
  dont-repeat
end

document display-sparse-array
Usage: display-sparse-array SPARSE_ARRAY
Display the contents of a sparse Octave array.

See also [display-dense-array] for showing the contents
of ordinary Octave arrays.
end

############################################################

## Display Octave debugging stack

define show-octave-dbstack
  call show_octave_dbstack ()
end

document show-octave-dbstack
Usage: show-octave-dbstack
Display the contents of the current Octave debugging stack.

This is the function stack that the Octave interpreter is processing
and will be different from the C++ stack being debugged with gdb.
end