Node:Capturing the Stack or Innermost Stack Frame, Next:Examining the Stack, Previous:Using Traps, Up:Debugging
When an error occurs in a running program, or the program hits a breakpoint, its state at that point can be represented by a stack of all the evaluations and procedure applications that are logically in progress at that time, each of which is known as a frame. The programmer can learn more about the program's state at the point of interruption or error by inspecting the stack and its frames.
make-stack obj . args | Scheme Procedure |
scm_make_stack (obj, args) | C Function |
Create a new stack. If obj is #t , the current
evaluation stack is used for creating the stack frames,
otherwise the frames are taken from obj (which must be
either a debug object or a continuation).
args should be a list containing any combination of
integer, procedure and These values specify various ways of cutting away uninteresting
stack frames from the top and bottom of the stack that
Each inner_cut_N can be Each outer_cut_N can be an integer or a procedure. An integer means to cut away that number of frames. A procedure means to cut away frames down to but excluding the application frame whose procedure matches the specified one. If the outer_cut_N of the last pair is missing, it is taken as 0. |
last-stack-frame obj | Scheme Procedure |
scm_last_stack_frame (obj) | C Function |
Return a stack which consists of a single frame, which is the last stack frame for obj. obj must be either a debug object or a continuation. |