在网络搜索中,我发现了以下评论:传统的Lisp调试实践仍然可以使用。
发布于 2010-07-15 22:04:09
我不知道比尔的具体意思,但IME:
通常,编辑器将有一个正在运行的实例连接到它。您可以立即编译函数,将它们插入正在运行的映像中--因为Lisp有自己的编译器,所以您只是告诉运行映像读取和编译一小部分文本。或者您可以直接运行函数,查看它们所做的事情。
当抛出异常(或发出条件信号时,如果您有幸使用带有条件的方言),调试器将向您显示堆栈跟踪,并让您决定如何继续。
Lisp与其他高级编译语言的主要区别在于,在Lisp中,您基本上总是编写带有调试器的代码。
发布于 2010-07-15 23:18:27
在问题中添加了clojure之后,我将给出我们的观点。
clojure编译器生成的类文件包括基于行和方法的调试信息,因此任何java调试器都将直接与clojure代码进行互操作,包括断点和对象检查。
如果您使用emacs/slime作为您的开发环境,那么最近就包含了与slime调试器的集成。由于文档有点稀疏,最好直接检查github上的支持范围。
发布于 2010-07-15 18:59:51
在emacs中运行edebug-defun,您将看到lisp是神奇的。
https://stackoverflow.com/questions/3257630
复制相似问题