【问题标题】:How to set breakpoints in de-compiled classes from jar for remote debugging in IntelliJ如何在 jar 中的反编译类中设置断点以在 IntelliJ 中进行远程调试
【发布时间】:2019-05-16 18:46:28
【问题描述】:

我有一个在调试模式下运行 Java 程序的远程服务器。

它有以下 Java 选项: JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

我可以使用 IntelliJ 调试器成功连接到它。

我可以从 IntelliJ 停止该进程并获得线程转储。

我现在想为某个方法添加断点。然而,使用断点窗口设置,即类模式和方法名称的通配符匹配在理论上是可行的,但它非常慢,无法使用它来调试 Web 请求。

我确实有可用的 jar,所以我希望 IntelliJ 反编译 jar,将其作为源代码显示给我,并允许我在反编译的 jar 中设置断点。

我怎样才能做到这一点?

(我拥有执行此操作的完全权限以及可用的实际源代码,但出于法律原因,我无法将源代码转移到我正在调试的机器上)

【问题讨论】:

    标签: java debugging intellij-idea


    【解决方案1】:

    原来是相当简单的:

    1. 在 IntelliJ 中打开包含所有 jar 的文件夹(它们显示为列表,但不可“浏览”
    2. 右键单击文件夹,“打开模块设置”
    3. 转到“库”
    4. 点击“+”,然后点击“Java”
    5. 选择该目录下的所有 jars
    6. 现在所有 jar 都可以浏览
    7. 在 jar 代码中设置断点

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 1970-01-01
      • 2012-11-06
      • 2012-12-12
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      相关资源
      最近更新 更多