intellij-idea - 是否可以在 IntelliJ 的反编译文件中的任意行号处添加断点?

标签 intellij-idea breakpoints decompiler

在 IntelliJ 中,如果我打开一个没有源代码的类文件,它会自动反编译。问题是我想在行号上设置一个断点,该行号是文件反编译版本中的最后一行。我从堆栈跟踪中知道该行号。

如何在 IntelliJ 中的任意行号上设置断点?

最佳答案

我不知道这是否真的有效,但这里有一个我会尝试的解决方法。

  • 转到类文件(即它的自动反编译源)
  • 在允许行断点的随机行上添加行断点
  • 转到项目的 .iws 文件 (project_name.iws)
  • 搜索刚才加断点的文件名,找到正确的<line-breakpoint>标签
  • 修改<line>标记比您需要的行少一个(例如,如果您需要在 845 上设置断点,请输入 844)。
  • 保存并调用 View Breakpoints 以查看断点是否出现在正确的行上。

  • 现在尝试调试您的程序,看看它是否到达断点(<-- 这部分我还没有实际测试过)。

    另一种选择可能是将反编译的源代码复制并粘贴到某个目录中正确的包结构中。将此目录作为您需要调试的库的源。然后,您可以向已创建的源添加断点,同时根据需要向文件添加尽可能多的换行符,以便能够在正确的行上设置断点。

    关于intellij-idea - 是否可以在 IntelliJ 的反编译文件中的任意行号处添加断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49951139/

    相关文章:

    intellij-idea - 如何为同一个文件创建两个编辑器 Pane ?

    spring-boot - Gradle无法同步Spring Boot项目

    intellij-idea - intelliJ 11.1.4 - 向项目添加 jar 只能起作用 50%

    java - Java 运行时库 (rt.jar) 中的断点

    scala - Scala 工作表中的断点?

    javascript - Firebug - 断点不命中

    grails - 如何在Grails上从.war检索源代码

    c# - ReSharper 9 : Microsoft Reference Source, 而不是反编译的 .cs 文件

    java - jar 反编译器在某些 jar 上卡住(尝试过 Procyon、JD-cmd 和 CFR)

    scala - 运行 Typesafe Console/Atmos 来监控 actor 系统/scala 应用程序。从 IntelliJ IDEA 或任何其他 IDE 运行