我写了一个超级简单的java类,它抛出异常,因为它应该。然而,堆栈跟踪我得到这个样子的:Java堆栈跟踪中的“未知源”,但行号在类文件中
java.lang.RuntimeException: hello
at Main.go(Unknown Source)
at Main.main(Unknown Source)
注:有在堆栈跟踪没有行号,我想那里是。
当你用google搜索这个问题时,你会发现所有的答案都是关于在编译时加入正确的参数,以确保行数实际上使它进入类文件。不过,我不相信这是我的问题,因为我有这个在我的蚂蚁的build.xml
<javac
debug="true"
debuglevel="lines,vars,source"
includeAntRuntime="false"
classpathref="classpath.compile"
srcdir="${src.dir}"
destdir="${build.classes}" />
另外,根据javap的,它看起来像行号并使其在:
$ javap -l ./build/classes/Main | head -n 9
public class Main extends java.lang.Object{
public Main();
LineNumberTable:
line 14: 0
line 22: 4
line 23: 15
line 24: 26
那么是什么给了?当我运行代码时,是否需要在jvm中设置一个参数?
谢谢!
你是否在服务器模式下运行jvm,即'java -server'?另外,你是从jre还是jdk安装中运行? – shams 2012-02-09 18:42:52
不使用-server,我正在使用jdk – andersonbd1 2012-02-09 18:48:40
我从来没有意识到这可以在Ant中的javac中设置......我想知道为什么我的堆栈最近变得不那么有用。 :P现在改变,生活更好 – Panky 2012-10-08 20:44:31