我寫了一個超級簡單的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