Napisałem super prostą klasę języka Java, która rzuca wyjątki tak, jak powinna. Jednak ślad stosu Dostaję wygląda następująco:"Nieznane źródło" w śledzeniu stosu Java, ale numery linii są w pliku klasy
java.lang.RuntimeException: hello
at Main.go(Unknown Source)
at Main.main(Unknown Source)
Uwaga: nie ma numery linii w ślad stosu i chciałbym tam być.
Odpowiedzi znalezione podczas wyszukiwania w Google tego problemu polegają na dodaniu prawidłowych parametrów w czasie kompilacji, aby upewnić się, że numery linii faktycznie znajdują się w pliku klasy. Jednak nie wierzę, że to mój problem, jak mam to w moim ant build.xml
<javac
debug="true"
debuglevel="lines,vars,source"
includeAntRuntime="false"
classpathref="classpath.compile"
srcdir="${src.dir}"
destdir="${build.classes}" />
Ponadto, zgodnie z javap, wygląda numerów linii udało się w:
$ 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
Co daje? Czy jest jakiś parametr, który muszę ustawić w jvm po uruchomieniu kodu?
Dzięki!
Czy używasz jvm w trybie serwera, tzn. 'Java -server'? Czy uruchamiasz instalację jre lub jdk? – shams
nie używając -serwera i używam jdk – andersonbd1
Nigdy nie zdawałem sobie sprawy, że to może być ustawione w javacu w Ant ... Zastanawiam się, dlaczego moje stosy stacków stały się ostatnio mniej przydatne. : P Zmienione teraz, a życie jest lepsze – Panky