我们实现了一种从 GWT 客户端记录服务器异常的通用机制。
当然,其中一些是意外的异常(例如 NPE),因此我们在日志中得到了这些堆栈跟踪(摘录):
java.lang.Throwable: One or more exceptions caught, see full set in UmbrellaException#getCauses
at Unknown.Hq(Unknown Source)
at Unknown.ihb(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
Caused by: java.lang.Throwable: (TypeError): d is null
stack: EG([object Object],[object Object])@http://domain/path/0B15791BA99231E6B88EAF3BDE38EB64.cache.html:3282
fileName: http://domain/path/0B15791BA99231E6B88EAF3BDE38EB64.cache.html
lineNumber: 3282
at Unknown.EG(Unknown Source)
at Unknown.DG(Unknown Source)
如何在原始java源代码中找到类和行号?
我不想部署详细的编译版本,因为我没有有关确切场景的信息,并且无法重现异常。
GWT 编译器将映射输出到符号映射文件中-deploy
and -extra
地点(其中-deploy
默认为-war
's WEB-INF/deploy
, and -extra
默认情况下不发出)。
我用它manually时不时地调试一些奇怪的东西。
您还可以使用以下命令以编程方式对跟踪进行反混淆StackTraceDeobfuscator http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/logging/server/StackTraceDeobfuscator.html.
仅供参考,此类由RemoteLoggingServiceImpl http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/logging/server/RemoteLoggingServiceImpl.htmlGWT-RPC servlet 和Logging http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/web/bindery/requestfactory/server/Logging.html请求工厂服务;分别称为SimpleRemoteLogHandler http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/logging/client/SimpleRemoteLogHandler.html and RequestFactoryLogHandler http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryLogHandler.html(他们是java.util.logging.LogHandler
您可以将其与日志记录API http://code.google.com/webtoolkit/doc/latest/DevGuideLogging.html#Remote_LoggingGWT 支持)。在这种情况下,它会调查WEB-INF/deploy
webapp 的(这就是为什么-deploy
默认在那里)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)