A stack element is an individual record or line-item history within a trace stack.
There are five kinds of elements that may appear within a stack:
level (function-name {argument1} ...)
Arguments within this listing are displayed not by their local parameter name, but by the values that were actually passed to the function.
level :keyword - {optional-data}
The keyword indicates the type of the frame. The optional-data displays additional information relating to the state of the program.
level (function-form ...)
As an example, load the following code in Visual LISP, set a breakpoint as indicated in the code comments, and then start the TRACE-10-DEEP command.
(defun stack-tracing (indexVal maxVal) (princ "At the top of the stack-tracing function, indexVal = ") (princ indexVal) (if (< indexVal maxVal) (stack-tracing (1+ indexVal) maxVal) (princ "Reached the maximum depth.") ; place a breakpoint ; at the beginning of ; this line ) ) (defun c:trace-10-deep () (terpri) (stack-tracing 1 10) )
The Trace Stack window from the previous sample code looks like the following illustration when program execution is interrupted at the set breakpoint.