如何从REPL调试控制台应用程序?

时间:2016-12-08 10:25:16

标签: emacs clojure leiningen cider

使用emacs + cider进行日常开发真的很舒服。我在文本编辑器中配置的所有内容都使其成为完成任务的理想选择。

我在业余时间工作的当前项目是文本编辑器我已经在C ++中使用了一个,我使用gdb从emacs调试。要运行它,我在set new-console on缓冲区中输入了rungdb。这将弹出一个可以处理所有I / O的新控制台

现在我试图在Clojure中重新实现它。到目前为止,我最关心的一个问题是调试。我认为与gdb使用的内容类似,不会是坏事。

在没有缓冲的情况下阅读键盘,我使用的是JLine。这意味着read-line无法提供所需的结果。

调试此类应用的合理方式来自控制台的大量I / O )是什么?

如何优先使用emacs / cider

我使用lein,如果这很重要的话。

P.S。:这是我制作的similar question,更广泛的"意图"。我认为值得一看。

1 个答案:

答案 0 :(得分:2)

如今,CIDER带来了出色的debugger。另请参阅此screenshot

最简单的方法可能是创建一个lein / boot构建配置文件,其中包含nREPL和CIDER作为依赖项并使用embedded CIDER instance。这将让您运行您的应用程序" standalone"从您可以获得无缓冲键盘I / O的终端,您可以通过M-x cider-connect连接到嵌入式nREPL + CIDER实例,以便像往常一样充分利用调试器和代码加载