例如,假设我有以下程序
(define (delete-adjacent-duplicates lst)
(fold-right (lambda (elem ret)
(if (equal? elem (first ret))
ret
(cons elem ret)))
(list (last lst))
lst))
因此,当我运行上述过程如(delete-adjacent-duplicates '(1 2 3 3 4 4 4 5))
时,我想看看它在每一步都是如何执行的。此外,我想在某些位置设置断点,以便断点在这些特定点触发我如何使用GNU Scheme实现这一点(我正在使用它)?我知道Dr.Racket提供调试功能,但我想从 Guile
在documentation中,它建议在trace
模块中使用(ice-9 debug)
函数。但是,该函数已弃用,我不知道如何使用新建议的模块(system vm trace)
模块。任何人都可以举一个详细的例子来说明如何在Scheme中调试程序吗?