IntelliJ IDEA不会进入第三方jar中的方法

时间:2016-11-23 18:41:12

标签: java debugging intellij-idea

我正在使用IntelliJ IDEA 14.1.5逐步调用调用第三方jar(JTidy)中方法的Java程序。

附上这个罐子的来源;如果我突出显示其中一种方法并按ctrl-B进行声明,IDEA会正确进入。

我在这个方法中设置一个断点,在我知道正在执行的语句中。

我在设置>下关闭了所有步进过滤器构建,执行部署>调试器>步进。

单步执行JCL中的方法(例如java.lang.String.append())可以正常工作。

然而,踏入这个第三方罐子是行不通的。即使是Force Step Into也行不通。该代码中的断点也不起作用;整个方法被视为Step Over,这意味着我无法查看我需要检查的过程中的确切点。

我需要检查才能使其正常工作?除了至少one other answer on another SO question that suggests that this should work之外,附加源代码不一定能够调试该代码是合理的。 IntelliJ's documentation on debugging中的提示也是如此。

1 个答案:

答案 0 :(得分:1)

我尝试使用以下代码在jTidy代码中放置一个断点:https://github.com/ajorpheus/simple-maven-testbed(特别是 this 提交。

Intellij构建信息:

{foreach $produtos as $produto}
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapse{$produto@index}">{$produto@key}</a>
      </h4>
    </div>
    <div id="collapse{$produto@index}" class="panel-collapse collapse in">
      <div class="panel-body">
        <table class="table sidebar">
          {foreach $produto as $item}
          <tr>
            <td>
              <a href="{$item}">{$item@key}</a>
            </td>
          </tr>
          {/foreach}
        </table>
      </div>
    </div>
    {/foreach}

我使用的依赖是:

IntelliJ IDEA 2016.3
Build #IU-163.7743.44, built on November 17, 2016
JRE: 1.8.0_112-release-408-b2 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

如下所示,断点被击中没有问题: enter image description here

我认为值得注意的是,您的帖子中的文档链接是针对v.20016.2而另一个链接是最近的2016年8月。我的第一印象是这可能与Intellij IDEA版本有关但是,您正在使用 this ,似乎也建议在14.1.5中支持使用反编译的第三方代码。

使用您的Intellij版本检查我的代码是否值得?