1

重複の可能性:
Tomcat が実際のスタック トレースを表示できないのはなぜですか?

私はGWTを使用しています。クライアント側の例外の詳細を表示するコードを以下に示します。

public void onModuleLoad() {  
    GWT.setUncaughtExceptionHandler(new   
      GWT.UncaughtExceptionHandler() {  
      public void onUncaughtException(Throwable e) {  
        // my logic which will display error details  
    } 

ホストモードでは、すべてが正常に機能します。以下のように、ホスト モードで明確な例外スタック トレースの詳細を取得します。

Error: java.lang.NullPointerException
com.sample.UserDetailsGrid$1.handleEvent(UserDetailsGrid.java:52)
com.sample.UserDetailsGrid$1.handleEvent(UserDetailsGrid.java:1)
com.extjs.gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178)
com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(BaseObservable.java:86)
com.extjs.gxt.ui.client.widget.Component.fireEvent(Component.java:456)
com.extjs.gxt.ui.client.widget.grid.Grid.onClick(Grid.java:813)
com.extjs.gxt.ui.client.widget.grid.Grid.onComponentEvent(Grid.java:496)
com.extjs.gxt.ui.client.widget.Component.onBrowserEvent(Component.java:884)
com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1308)
com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1264)
sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

しかし、問題は、java ファイルが javascript にコンパイルされて tomcat にデプロイされると、スタック トレースから何も理解できない以下と同じ例外の詳細を取得することです。

Error: (TypeError): null has no properties stack: FLg([object Object],[object Object])@http://localhost:9999/mywebapp/21D01FA6800CA5B30FF5BE80916CCD06.cache.html:
Unknown.FLg(Unknown source:0)
Unknown.ILg(Unknown source:0)
Unknown._Xb(Unknown source:0)
Unknown.Rkc(Unknown source:0)
Unknown.bqd(Unknown source:0)
Unknown.wqd(Unknown source:0)
Unknown.ilc(Unknown source:0)
Unknown.tmc(Unknown source:0)
Unknown.I5f(Unknown source:0)
Unknown.anonymous(Unknown source:0)
Unknown.VNd(Unknown source:0)

この動作の理由を教えてください。

ありがとう!

4

1 に答える 1

1

開発モードでは、コードは Java で実行されます。prod モードでは、コンパイルされた JavaScript は難読化されます。

スタックトレースの難読化解除 (サーバー側) については、 https: //code.google.com/p/google-web-toolkit/wiki/WebModeExceptions を参照してください。

于 2012-12-03T10:30:59.540 に答える