如何在Scheme中调试程序

时间:2017-10-03 14:06:36

标签: debugging guile

例如,假设我有以下程序

(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中调试程序吗?

0 个答案:

没有答案