我正在使用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中的提示也是如此。
答案 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
我认为值得注意的是,您的帖子中的文档链接是针对v.20016.2而另一个链接是最近的2016年8月。我的第一印象是这可能与Intellij IDEA版本有关但是,您正在使用 this ,似乎也建议在14.1.5中支持使用反编译的第三方代码。
使用您的Intellij版本检查我的代码是否值得?