我在eclipse中构建了一个编辑器部件来可视化Zest图。我的问题:如果我试图关闭一个包含大图(~6000个节点,9000个边)的编辑器部分,eclipse无法处理关闭操作并挂起。
任何解决问题或调试问题的想法?
我认为问题在于处理图形对象,但我不知道要解决它。
提前致谢!
答案 0 :(得分:0)
要调试它,我会尝试查看Eclipse日志文件(workspace/.metadata/.log
)以获取有关发生的事情的线索。这可能是一些记忆问题。如果它听起来像是日志文件,您可以尝试更改eclipse.ini
配置,尤其是-XX:MaxPermSize
,-Xms
和-Xmx
值(请参阅{{3 }})。
如果问题在合理的内存值下仍然存在,那么如果您可以提交错误就会很棒:http://wiki.eclipse.org/Eclipse.ini
答案 1 :(得分:0)
问题是方法“org.eclipse.gef4.zest.layouts.algorithms.TreeLayoutObserver.TreeNode.isAncestorO f(TreeNode descendant)”。我为我修复了它,我将报告一个错误(在评论中显示bug id)。如果有人需要快速修复错误:
旧版本:
public boolean isAncestorOf(TreeNode descendant) {
while (descendant.depth > this.depth) {
descendant = descendant.parent;
}
return descendant == this;
}
新版本:
public boolean isAncestorOf(TreeNode descendant) {
while (descendant.depth > this.depth) {
if (descendant == descendant.parent) {
return false;
} else {
descendant = descendant.parent;
}
}
return descendant == this;
}