Scheme 如何找到MIT方案中发生错误的地方?

Scheme 如何找到MIT方案中发生错误的地方?,scheme,sicp,mit-scheme,Scheme,Sicp,Mit Scheme,当你在麻省理工学院方案中遇到错误时,它不会告诉你错误发生在哪里。例如,它只打印如下内容: ;Unbound variable: top-left ;To continue, call RESTART with an option number: ; (RESTART 3) => Specify a value to use instead of top-left. ; (RESTART 2) => Define top-left to a given value. ; (RESTAR

当你在麻省理工学院方案中遇到错误时,它不会告诉你错误发生在哪里。例如,它只打印如下内容:

;Unbound variable: top-left
;To continue, call RESTART with an option number:
; (RESTART 3) => Specify a value to use instead of top-left.
; (RESTART 2) => Define top-left to a given value.
; (RESTART 1) => Return to read-eval-print level 1.

如何在我的代码中找到此错误发生的位置?

在mit方案中,如果您使用的是shell中的REPL,则可以调用调试器。如果您使用的是edwin编辑器。它自带自己的调试器。
如果这是您想要的,则两者都不会告诉您发生错误的文件中的代码行。但它们提供了大量的信息和设施来发现问题。这两个链接都指向文档,并对如何使用它们进行了很好的解释

实际上,它会告诉你错误在哪里。它告诉您左上方的
不存在。您可以搜索代码以查看引用的位置。是的,但如果多次引用左上角,则不知道是哪一个导致了问题。如果它不存在,则它将是第一个引用。