【问题标题】:Halting a program at a debug point?在调试点停止程序?
【发布时间】:2017-02-19 06:57:33
【问题描述】:

我正在使用 emacs 进行 clojure 开发。

所以使用后:C-u M-x cider-jack-in(在我的测试文件中)。接下来是lein repl,然后是M-x cider-connect,我在项目的根目录中得到了一个奇怪的、部分工作的repl,我必须提供每个函数的完全限定路径及其命名空间。

如何为 cider 提供自定义入口点(例如测试文件)?如何预加载部分命名空间,或在程序的特定点停止执行?

【问题讨论】:

    标签: emacs clojure cider nrepl midje


    【解决方案1】:

    您可以通过在 repl 中输入 (in-ns 'some.namespace) 来更改您的 repl 命名空间。或者,苹果酒允许您切换到打开文件的命名空间:在 emacs 中打开文件并执行cider-repl-set-ns(或C-c M-n)。

    要将整个文件加载到 repl 中,请使用 cider-load-buffer (Cc Ck) 或 cider-load-file (Cc Cl),要加载单个 s 表达式,请使用 cider-eval-last-sexp(将光标放在要执行的 sexp 之后和 Cx Ce) 或 cider-eval-sexp-at-point

    【讨论】:

    • 这并没有回答问题,这似乎与断点有关。
    • 对我来说,这似乎是关于 repl 和命名空间的问题。
    【解决方案2】:

    可以通过命名空间中的C-c C-k 来预加载命名空间。

    您可以使用C-u C-M-x 放置调试点。当您运行代码并遇到断点时,您可以按照似乎步入或越过行等的键绑定进行操作。您可以使用C-c C-c 删除断点。

    有关调试的更多信息,请参阅https://github.com/clojure-emacs/cider/blob/master/doc/debugging.md

    来自上述链接的示例:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多