在一个应用程序中,我有一个有几个成员变量和方法的类。使用糟糕的参数调用该方法将生成一个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:
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”值。
发布于 2009-08-25 04:39:36
在#eclipse
中进行了一些讨论后,我们发现VM是问题所在。我当时在跑步:
/usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/bin/java
改为:
/usr/lib/jvm/java-6-openjdk/bin/java
并向VM提供一个-ea
标志作为参数,让我展开类实例,检查bar
的值。问题解决了。
发布于 2009-08-25 02:33:06
不,没有。通常调试视图中的第一行应该是一个条目"this",它表示当前正在运行的实例。它应该有一个"+",您可以单击它来展开实例变量的列表。
如果这不起作用,可能您处于错误的堆栈框架中(您可以在堆栈跟踪列表中选择它),或者Eclipse无法解决您的源代码位置,或者有其他问题。
尝试创建一个小的测试用例,这是可重复的,并发布这一点。然后我们再看看..。
顺便说一句: Eclise 3.2.2相当古老。考虑升级到3.5,看看问题是否仍然存在。您可以同时安装多个Eclipse版本(只需解压缩到一个目录),因此不需要破坏现有安装。
https://stackoverflow.com/questions/1327279
复制相似问题