【问题标题】:How to debug into dynamically-loaded jars in IntelliJ如何在 IntelliJ 中调试动态加载的 jar
【发布时间】:2012-01-24 22:36:53
【问题描述】:

我正在为 ImageJ 编写一个插件,使用 Ant 脚本将所有需要的文件放入一个 jar 中。 ImageJ 将所有 jar 加载到一个目录中,然后我运行我的插件。但是,当我尝试调试我的程序时,IntelliJ 声称“在第 y 行的第 y 行没有找到可执行代码”。我该如何解决这个问题?

【问题讨论】:

    标签: java debugging jar intellij-idea imagej


    【解决方案1】:

    仔细检查您构建的源代码是否与 jar 中打包的类相对应,它们必须是同步的。如果您加载了一个从旧资源构建的 jar,则可能会导致此类问题。还要确保在启用调试信息的情况下进行编译。如果从 Ant 执行编译,则必须为 javac Ant 任务指定 debug=true 属性。

    如果 Ant 构建中涉及到一些混淆或字节码操作,也可能在调试时引起问题。

    【讨论】:

    • 谢谢 - 这是我错过的 debug=true
    • 您知道是否有一种方法可以根据我单击“运行”还是“调试”来指定是否设置该调试标志?还是我需要两个单独的配置?
    • 不,这些东西不相关。此标志仅影响从 Ant 执行的编译。
    【解决方案2】:

    我不确定,但您需要源代码才能看到您正在调试的内容。每次添加 JAR 时,您还有机会告诉 IntelliJ 在哪里可以找到随附的源文件。看看你能不能为你的案子做这样的事情。

    【讨论】:

    • 我没有将 jar 文件添加到 IntelliJ 本身,我只是使用 Ant 脚本创建它。我应该做一些不同的事情吗? IntelliJ 肯定知道我的所有源代码在哪里(也就是说,“项目结构”窗口的“模块”选项卡在其“源文件夹”列表中包含我的源目录)。 Java新手在这里,所以你可能会认为我做了一些天真的事情:-P
    猜你喜欢
    • 2015-10-18
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2016-11-25
    • 2014-12-24
    相关资源
    最近更新 更多