ECLを使ってCommon Lispを勉強しています。デバッグ方法はhttps://malisper.me/debugging-lisp-part-1-recompilation/を参考にやってみましたが、ステップ実行がうまくいきませんでした。
"(break)" を挿入して "RETRY" を選択すると、ブレークで最初に処理が停止します。これは、上記のページに示されているように意図された動作です。
(defun fib (n)
(break)
(if (<= 0 n 1)
(/ 1 0)
(+ (fib (- n 1))
(fib (- n 2)))))
Break
[Condition of type SIMPLE-CONDITION]
次にSキーを押した時、踏んだはずなのに以下のエラーメッセージが表示されました。
SWANK/BACKEND: ACTIVATE-STEPPING not implemented
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to sldb level 1.
1: [CONTINUE] Return from BREAK.
2: [RETRY] Retry SLIME REPL evaluation request.
3: [* ABORT] Return to SLIME's top level.
4: [ABORT] ABORT
これはECLの実装上の問題かもしれませんが、ECLでは通常どのようなデバッグが行われているのか知りたいです。
よろしく、NOEU