Я изучаю Common Lisp, используя ECL. Я попытался сослаться на 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