在调试期间,如何在特定行之后中断执行

时间:2015-05-10 18:35:52

标签: java debugging intellij-idea

我正在调试一个程序,我有这一行:

if (compareToName.equals(className)) {
      Set<String> properties = 
         reflections.getResources(Pattern.compile(".*\\.properties"));
}

我的行中有一个以Set<String> ...

开头的断点

我想知道行执行后properties的值,但是当我跨过该行时,我已经越过块,因此properties变量在变量窗口中不可用

2 个答案:

答案 0 :(得分:0)

在您跳过该分配后,您不会立即获得该值,因为该值不会出现在if语句之外。 IntelliJ的调试器仍然受到与其他Java程序相同的范围和变量生命周期规则的约束。

虽然我对此特定代码段有所了解,但在调试模式下获取该值并不困难。

  • Alt +左​​键单击鼠标悬停在特定代码段上(在这种情况下,您将鼠标悬停在reflections位右侧的点上。
  • 突出显示表达式,然后选择&#34;评估表达式&#34; (使用调试窗口中的小计算器图标)。默认情况下,它会使用突出显示的任何内容预填充该字段,以便您可以对其进行评估。

答案 1 :(得分:0)

按Alt-F7并输入要执行的代码。 在您的示例中:

    reflections.getResources(Pattern.compile(".*\\.properties"));

你会看到结果。