Gwt StackTraceElement中没有行号

Gwt StackTraceElement中没有行号,gwt,Gwt,我添加了一个UncaughtExceptionHandler,代码如下: GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() { public void onUncaughtException(Throwable e) { StackTraceElement[] elements = e.getStackTrace(

我添加了一个UncaughtExceptionHandler,代码如下:

        GWT.setUncaughtExceptionHandler(new   
          GWT.UncaughtExceptionHandler() {  
          public void onUncaughtException(Throwable e) {  

              StackTraceElement[] elements = e.getStackTrace();

              String stackTrace = "";
              for (int i = 0; i < elements.length; i++)
              {
                  stackTrace += elements[i] + "\n";
              }

              PlatformServices.instance().log().debug("caught unhandled exception: " + e + " ; Stack:\n" + stackTrace);
          }
        });
GWT.setUncaughtExceptionHandler(新)
GWT.UncaughtExceptionHandler(){
不可撤销的公共无效(可丢弃的e){
StackTraceElement[]元素=e.getStackTrace();
字符串stackTrace=“”;
for(int i=0;i
问题是只有每个StackTraceeElement的函数名有效。所有其他信息都是默认信息,例如行号为-1,类名为unknown


我想知道我是否做错了什么?

尝试在模块文件中设置此选项

<set-property name="compiler.stackMode" value="emulated" />

此信息可能在GWT应用程序执行期间不可用。检查core
stackTraceeElement.java
类,方法
toString()
。只有在大于等于零的情况下,
lineNumber
的值才会打印出来。它也不是不可能是负面的

我使用
UncaughtExceptionHandler
进行的测试给出了完全相同的结果(在运行时没有对行号的引用)。在模糊模式下编译时,我甚至无法获取文件名,因此输出如下所示:

com.google.gwt.core.client.JavaScriptException: (TypeError): Cannot read property 'g' of null 
Unknown.iPb(Unknown Source) 
Unknown.gPb(Unknown Source) 
Unknown.npd(Unknown Source) 
...

这不是一个真正的解决方案,但至少你并不孤单:)。

谢谢你提供的信息!我不知道这个功能。