スタック要素とは、トレース スタック内の個々のレコードまたは行項目の履歴です。
スタックに表示される要素は 5 種類あります。
level (function-name {argument1} ...)
このリストの中の引数には、ローカル パラメータ名ではなく、実際に関数に渡された値が示されます。
level :keyword - {optional-data}
keyword には、フレームのタイプが示されます。optional-data には、プログラムの状態に関する追加情報が示されます。
level (function-form ...)
たとえば、Visual LISP に次のコードをロードし、コードのコメントで示されるようにブレークポイントを設定し、TRACE-10-DEEP コマンドを実行します。
(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)
)
上記のサンプル コードの[トレース スタック]ウィンドウは、設定されたブレークポイントでプログラムの実行が中断されたとき、次の図のようになります。
