在Emacs中进行调试方案

3

我正在从DrScheme转向Emacs来编辑我的PLT Scheme文件。你能教我如何在Emacs中使用steppers或debuggers吗?谢谢。

5个回答

4

跟踪函数对于调试来说是很有帮助的。

(trace function-name)

它将打印参数和返回值。 要关闭跟踪,请使用:

(untrace)

1
这是调试中最好的功能之一。在 Plt Scheme 中,请确保在使用之前输入 (require (lib "trace.ss"))。 - user51568

4

你需要的是类似于QuackMode这样的东西,还是像scheme-mode这样简单的东西就可以了?我强烈建议您阅读Emacs维基关于Scheme的文章,因为它描述了许多关于Scheme和Emacs的选项。老实说,尽管DrScheme中有调试器和步进器,但它们并不一定在Emacs中被找到,因为这是一个特定的环境。也许在找到如何将其挂接到Emacs之前,应该先寻找您喜欢的Scheme调试器。

说了这么多,我很确定MIT-Scheme有你想要的,因为你可以从Emacs中运行一个Scheme进程。另外,还有EdWin


0

这不是你想要的答案,但我发现最好的调试方法是在代码中插入“printf”。这种方法有些原始,但...


0

使用DrScheme的stepper和/或调试器无法做到这一点,因为它们目前集成在DrScheme的GUI中。可能制作连接不会太难,但迄今为止没有人费心进行这项工作。


先生,您如何在Emacs上调试您的scheme文件?我非常喜欢我的emacs,但我认为没有一个好的调试选项我就无法生存。 - unj2
好的,有很多选择。实际上,对于PL课程来说,缺少DrScheme的调试器和步进器并不是问题,因为它们甚至在DrScheme内部也不是相关工具。好的工作方式与HtDP所教授的一样:编写良好的合同、编写测试,并确保您的代码通过测试。如果您做到了这一点,您会发现调试是您更少需要的东西,在需要它的情况下,简单的打印输出就足够了。 - Eli Barzilay

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接