Exception或者Error都是继承了Throwable类保持了一组StackTrace的堆栈信息,每个StackTrace元素保持该层的ClassName,MethodName,FileName,LineNumber等数据。调用Throwable.printStackTrace()返回Unknown Source,这时LineNumber是负数-3,-4等。比如下面:
at org.eclipse.ui.internal.ide.IDEApplication.run(Unknown Source)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)Unknown Source在什么情况下会出现,为什么会出现找不到源代码行号的情况。
我现在在自己写的一些类中会出现错误堆栈出现Unknown Source的情况,很是郁闷啊!
at org.eclipse.ui.internal.ide.IDEApplication.run(Unknown Source)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)Unknown Source在什么情况下会出现,为什么会出现找不到源代码行号的情况。
我现在在自己写的一些类中会出现错误堆栈出现Unknown Source的情况,很是郁闷啊!
类,对你说不重要,重要的是的程序的行数
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)C:\Program Files\Java\jre1.6.0_07\bin>java Test
java.lang.Exception
at Test.main(Test.java:9)C:\Program Files\Java\jre1.6.0_07\bin>不知道在什么情况下能够出现堆栈信息出现Unknown Source的堆栈行。
呵呵,不是debug的事情。我在写一个日志管理模块,打印异常时会把错误行附近的源代码(比如错误行上下10行的内容)也进行记录。这些源代码通常是用户自定义的脚本。所以需要看看上下文相关引用。但是现在stacktrace的行号信息有时候就出现unknown source,导致这些源代码信息无法获取记录,比较郁闷的说。