首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查Eclipse中的java类实例变量值

检查Eclipse中的java类实例变量值
EN

Stack Overflow用户
提问于 2009-08-25 10:07:44
回答 2查看 1.7K关注 0票数 2

在一个应用程序中,我有一个有几个成员变量和方法的类。使用糟糕的参数调用该方法将生成一个AssertionError。我已经将调试器设置为停止未察觉的异常。

问题是,当切换到调试透视图时,我只能看到调用函数的类实例和两个参数。我无法展开类实例以查看其成员变量的值。在实例的左边有一个空间,所以我假设应该有一个箭头,这样就可以像在大纲中那样展开它。

是否有我必须为此启用的配置或某些东西?还是我误解了变量窗口?

如果有关系,这就是Ubuntu中的Eclipse3.2.2。

Update I从http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-linux-gtk.tar.gz下载了一个新版本

“关于Eclipse”现在报告"Build id: 20090619-0625“。

Testcase:

代码语言:javascript
运行
复制
class Foo {
    private int bar;

    Foo() {
        bar = 1;
    }

    public void set(int newbar) {
        assert (newbar<0);
        bar = newbar;
    }
}

class Test {

     public static void main (String[] args){
         Foo f = new Foo();
         f.set(5);
     }
}

显然,这段代码会产生断言异常。但是唯一的改变是“这个”的图标,这个图标在新版本中从绿色的圆圈变成了蓝色的三角形。仍然找不到一种方法来扩展它。在这里,我可以看到Foo实例的"this“,以及"newbar”及其值,为了澄清,我要做的是展开"this“,并查看它当前的"bar”值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-25 12:39:36

#eclipse中进行了一些讨论后,我们发现VM是问题所在。我当时在跑步:

代码语言:javascript
运行
复制
/usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/bin/java

改为:

代码语言:javascript
运行
复制
/usr/lib/jvm/java-6-openjdk/bin/java

并向VM提供一个-ea标志作为参数,让我展开类实例,检查bar的值。问题解决了。

票数 2
EN

Stack Overflow用户

发布于 2009-08-25 10:33:06

不,没有。通常调试视图中的第一行应该是一个条目"this",它表示当前正在运行的实例。它应该有一个"+",您可以单击它来展开实例变量的列表。

如果这不起作用,可能您处于错误的堆栈框架中(您可以在堆栈跟踪列表中选择它),或者Eclipse无法解决您的源代码位置,或者有其他问题。

尝试创建一个小的测试用例,这是可重复的,并发布这一点。然后我们再看看..。

顺便说一句: Eclise 3.2.2相当古老。考虑升级到3.5,看看问题是否仍然存在。您可以同时安装多个Eclipse版本(只需解压缩到一个目录),因此不需要破坏现有安装。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1327279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档