在 Eclipse 中调试:没有断点的变量快照

Debugging in Eclipse: Variable Snapshot Without Breakpoint

我正在 Eclipse 中调试 Java 程序。我想看一个特定的变量。但是,由于我的程序使用 GUI,创建断点会导致 window 冻结。例如,这特别烦人。尝试右键单击某个项目并浏览上下文菜单。

我实际上并不想停止程序,我只是想观察一个特定的变量并在每次到达特定行时记录它的值。目前,我正在使用 print 语句来执行此操作,但我想知道是否有一种方法可以使用调试视图来执行此操作。

(注意:我不想将其写入日志文件。这不是我需要长期查看的变量。目前我只是将其打印出来,查看它所采用的值, 然后删除 print 语句。如果有这样的东西我可以保留在调试视图中而不会让 print / log 语句使我的代码混乱)。

您可以添加一个 return 为 false 的条件断点。条件中的代码将被评估,然后你 return false 向调试器表明你不想停止执行。

右击断点属性, 检查 "Conditional" 在文本字段中,输入您想要 运行 的代码(例如打印 x)。确保条件中的最后一条语句是 "return false"

这是我的代码:

public static void main(String[] args) {
        String x  = " Some value"; 
        String y  = "a value"; //breakpoint here
        System.out.println("Hello World!");
    }

假设我想在 x 声明后立即打印它的值。 在代码中指示的位置设置断点, 添加条件:

System.out.println("Value of x: " + x);
return false;

输出:

Value of x: Some Value
Hello World!