如何在断点处打印一些东西到控制台?

How to print something to the console on breakpoint?

我想知道是否有任何选项可以在断点处打印一些内容到控制台。我想破解 IntelliJ IDEA 中的条件断点功能。

我写了这么一篇class:

public class BreakpointPrinter {

    public static boolean print(Object object){
        System.out.println(object);
        return false;
    }
}

并像这样使用它:

但不幸的是我得到一个错误:

你有更好的想法来实现这样的目标吗?

右击断点:

点击More

Select Evaluate and log 然后输入你要执行的代码。

在上面的示例中,断点执行 System.out.println("I reached my breakpoint"),一旦到达断点,该字符串就会写入 IntelliJ 控制台。

我怀疑你得到 ClassNotFoundException 的原因是你的 class (BreakpointPrinter) 不在 IntelliJ 生成的 JVM 实例的 class 路径上.但是,如果您只想在每次到达特定断点时写入控制台,那么您可以使用 JVM 中始终可用的 class(例如 java.lang.System)并触发它通过断点的 Evaluate and log 功能。