Debugging 使用IntelliJ Idea 10和La Closure插件版本0.3.15调试Clojure
我正在使用IntelliJ Idea 10和La Closure插件版本0.3.15 Java6,我在一个项目中添加了Clojure1.2 我在Java代码上设置的断点会被命中,但我设置的断点 Clojure没有。事实上,如果在Java上停止调试器 断点,Clojure代码上的断点中有一个x,并且 有一个警告,例如,在中找不到可执行代码 第4行在debugland$eval3的课堂上 我试过在Clojure的核心函数中设置断点,比如println, 但我还是得到了红色的x。非常非常感谢您的帮助 在这个问题上。我用Clojure 1.1和1.2两种类似的工具尝试了Idea 9Debugging 使用IntelliJ Idea 10和La Closure插件版本0.3.15调试Clojure,debugging,clojure,intellij-idea,Debugging,Clojure,Intellij Idea,我正在使用IntelliJ Idea 10和La Closure插件版本0.3.15 Java6,我在一个项目中添加了Clojure1.2 我在Java代码上设置的断点会被命中,但我设置的断点 Clojure没有。事实上,如果在Java上停止调试器 断点,Clojure代码上的断点中有一个x,并且 有一个警告,例如,在中找不到可执行代码 第4行在debugland$eval3的课堂上 我试过在Clojure的核心函数中设置断点,比如println, 但我还是得到了红色的x。非常非常感谢您的帮助
结果。我相信正在发生的事情是Clojure正在创建Idea的调试器不理解的jvm原语。这可能意味着原语不是Idea通常识别的大小或类型。见和 这可能可以通过创建Clojure在编写虚拟机代码时使用的结构/原语的目录,并在调试Clojure时切换到该目录来解决。不幸的是,这也意味着您可能需要等待IntelliJ来解决问题 我已将问题发布到Jetbrains技术支持。我正在使用Clojure 1.3(从github源代码构建)、LaClojure 0.3.74和运行在IDEA 10.0.3上的Sun Java 6u24。我的断点似乎像广告中所说的那样工作(在红点中得到复选标记),尽管在非评估性代码(如[]与函数名[])的断点上会得到x。例如:
(ns clojure.examples.hello
(:gen-class))
(defn hello <---- Get check breakpoints here.
[] <---- Get x breakpoints here, can't eval [] but hello[] is okay!!!
(let [a 12
b (/ a 2) <---- Get check breakpoints here.
c (* b 3)]
(if (< b a)
(println (str b "<" a)) <---- Get check breakpoints here.
(println (str a "<" b)))))
(ns clojure.examples.hello
(:gen类)
(defn hello不确定这是否有助于您的特定情况,因为我的项目是纯clojure,但在我为我的项目设置clojure方面之前,我无法让调试器达到断点(奇怪的是,我不知道如何添加到现有项目中-我必须使用该方面创建一个新项目)
本博客介绍了一些对我有用的步骤:
我正在使用IntelliJ IDEA 14.1.4和La Clojure 0.7.82