2010-01-19 3 views
6

최근 GWT SDK를 프로젝트에서 1.5.3에서 2.0.0으로 업데이트했습니다. 나는 모든 문제를 해결할 수 있었다.GWT 2.0 Chrome 개발자 플러그인의 문제

크롬과 함께 개발 모드를 사용할 수 없습니다. 로그인 완벽하게 내 응용 프로그램이로드의 페이지하지만 (즉, RPC를을) 나는 다음과 같은 오류가 로그인 할 때 : 나는 크롬 4.0.295.0 및 개발자 플러그인 1.0.7263를 사용하고

com.google.gwt.core.client.JavaScriptException: (Error): Error calling method on NPObject! stack: Error: Error calling method on NPObject! at eval at eval (native v8natives.js:132:1) at unknown source at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.0 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) __gwt_ObjectId: 2835 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:284) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at com.google.gwt.user.client.rpc.impl.SerializerBase$MethodMap$.deserialize$(SerializerBase.java) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:124) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:116) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader$8.read(RequestCallbackAdapter.java:104) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:197) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:396) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188) at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222) at java.lang.Thread.run(Thread.java:619)

.

개발 모드는 FF와 IE에서 잘 작동합니다.

어떤 일이 벌어지고 있는지 알 수 있습니까?

감사합니다.

+0

Chrome에서 페이지가 제대로 작동합니다. – Isac

답변

7

개발자 플러그인의 버그인지 잘 모르겠습니다. 브라우저의 제한 사항 일 수 있습니다.

응용 프로그램이 점점 더 복잡해지면 브라우저의 스택 크기 제한에 결국 도달하게됩니다. 일부 브라우저의 경우 다른 브라우저보다 높은 제한이 있습니다 (다양한 브라우저에서 http://tests.novemberborn.net/javascript/callstack-size.html 참조). 사파리는 내가 아는 한 최대의 것을 가지고 있으며 적어도 Mac 플랫폼에서는 공식 GWT 개발자 플러그인이 있습니다.

플러그인 (모든 플랫폼에서)은 스택에 상당한 오버 헤드를 추가합니다 (이 문제는 일반적으로 프로덕션 환경에서 사라지는 것 같습니다). 그래서 디버그 모드에서 응용 프로그램을 계속 개발하려면 최상의 조언은 다음과 같습니다. 코드를 재구성하십시오. 한 번에 너무 많은 데이터를 클라이언트 측에서 처리하려고 할 가능성이 있습니다.

0

Chrome 플러그인은 devmode에서 깊이 중첩되고 직렬화 된 객체에 문제가있는 것 같습니다. 내 응용 프로그램에서는 깊은 나무를 보내고 Chrome에서는 실패하지만 Firefox에서는 성공합니다.