2010-11-08 46 views
5

我已经在Firefox中工作正常,但是当我在IE8测试中,我得到了一个奇怪的错误应用程序:'Stack overflow at line: 0'如何知道GWT和IE8中的RPC对象是否“太大”?

从GWT讨论组建议,这可能与大/复杂的对象返回后从RPC调用中,我能够将问题范围缩小到我的RPC服务器调用之一,该调用确实会返回一个庞大而复杂的对象。

如果错误是由于大对象太大或太复杂导致的,我怎么知道这一点? “太大”的门槛在哪里?

来自GWT讨论的进一步意见表明Collections对象可能是问题,但这是来自另一个GWT开发人员的经验。这是由GWT文档或团队记录在任何地方吗?

即便如此,问题仍然存在 - 我怎么知道它何时足够小?

回答

0

我仍然不知道是否有关于对象的大小的指定问题的答案,但我的问题最终是因为我有我递归的对象中的其他对象的递归引用。好了,不明确的递归的,但是在对象A对对象B的引用对象的,等等,等等这是一个家族树结构,有对每一个人来说,其持有引用到其他相关个人,其中有引用关系图回到相关的个人等等。在内存中工作良好,引用了同一个对象,但显然GWT为IE生成的JavaScript无法正确反序列化它。

0

来解决,这将是编译GWT代码时使用-compileReport标志,最好的办法,有一个开发人员指南和一些可用的样本这里:

我已经在一个使用GWT 1.6.x和2.x的ant脚本中使用它。 PS:不知道你正在使用的是哪个版本的GWT,我不能提供更有用的东西。但是,它可能是需要注意的,如果你使用任何超过2.1旧的 - 因为他们推出Data Presentation Widgets这有可能解决你的那些“太大”的对象问题。

+0

我们使用GWT 2.0。感谢有关compileReport的提示。我只浏览了那个页面,但看起来它有很多有用的东西,这些东西很值得我们去了解。 – user26270 2010-12-03 14:35:35

0

当我加载我的GWT页面时,我也得到'堆栈溢出在行:0'。结束了,在我的情况下,应用程序使用Eclipse调试模式URL包括gwt.codesvr = 127.0.0.1时只抱怨:?9997片段。在删除URL中的片段后,错误消失了。

相关问题