如何在eclipse调试中进入条件

时间:2011-10-06 14:36:55

标签: java eclipse debugging

我有以下结构:

if (obj.isSomethingable()){ 
// do something }

如果obj.isSomethingable()为false,我怎么能输入条件?我不能从obj修改布尔实例?

4 个答案:

答案 0 :(得分:4)

您可以使用eclipse的Display选项卡执行代码//执行某些操作。

所以如果你有:

if(obj.isSomethingable())
{
  int var =5;
  System.out.println(var+8);
}

然后在显示选项卡中的if断点处,您可以输入:

int var =5;
System.out.println(var+8);

然后突出显示全部并单击放大镜以查看该代码的输出结果。

答案 1 :(得分:1)

萨吕,

在Debug透视图中,打开“variables”选项卡。你可以选择你的对象并改变它的价值。这适用于基元或简单对象,但不适用于复杂对象。 我尝试了以下内容:

return new MyObj() {
    public boolean isSomething() {
        return true;
    }
}; 

但是eclipse不允许你使用匿名类。 你可以尝试使用模拟或其他东西。谷歌mockito,看看它是否适合你。

Tiberiu

答案 2 :(得分:0)

在执行if之前,请使用调试器更改obj的状态,使isSomethingable()返回true。

答案 3 :(得分:0)

看起来这样做的唯一方法是修改源代码。

boolean bol = obj.isSomethingable();
if (bol) { ... }

之后,您可以将变量的变量更改为true。