java - 如何根据最终局部变量在匿名内部类中设置条件断点?

标签 java eclipse conditional-breakpoint anonymous-inner-class

假设我有以下类并想在标记位置的 arg==null 上设置条件断点。这在 eclipse 中不起作用,并给出错误“条件断点有编译错误。原因:arg 无法解析为变量”。

我找到了一些相关资料here ,但即使我将条件更改为“val$arg==null”(val$arg 是调试器变量 View 中显示的变量名称),eclipse 也会给我同样的错误。

public abstract class Test {

    public static void main(String[] args) {
        Test t1 = foo("123");
        Test t2 = foo(null);
        t1.bar();
        t2.bar();
    }

    abstract void bar();

    static Test foo(final String arg) {
        return new Test() {
            @Override 
                void bar() {
                // I want to set a breakpoint here with the condition "arg==null"
                System.out.println(arg); 
            }
        };
    }
}

最佳答案

我只能提供一个丑陋的解决方法:

if (arg == null) {
     int foo = 0; // add breakpoint here
}
System.out.println(arg);

关于java - 如何根据最终局部变量在匿名内部类中设置条件断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733572/

相关文章:

java - 为什么当我的 Eclipse 插件启动时没有触发/捕获 windowOpened 事件?

eclipse - .war 文件不会更新

debugging - 较高堆栈帧上的条件断点

c# - Visual Studio 中的条件断点

java - 要求用户在密码过期后更改密码,但不要在 session 期间更改

java - 为什么相同的 Python/Java 代码之间会有如此巨大的性能差异?

java - 使用 Java 中的 SHA-256 算法比较使用相同盐的两个哈希密码,Spring 安全性?

android - 键盘没有出现

c# - 为什么不能在 Visual Studio 2013 的条件断点中使用 lambda?

java - Google IME 或 Redhat 日语 IME 候选窗口未针对 Swing 文本字段正确定位