2010-11-08 47 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中的片段後,錯誤消失了。

相關問題