Java堆栈跟踪中的"未知源",但行号在类文件中

and*_*bd1 21 java ant

我编写了一个超级简单的java类,它应该抛出异常.但是我得到的堆栈跟踪看起来像这样:

java.lang.RuntimeException: hello
        at Main.go(Unknown Source)
        at Main.main(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

注意:堆栈跟踪中没有行号,我希望有.

在搜索此问题时您找到的答案都是在编译时添加正确的参数,以确保行号实际上成为类文件.但是,我不相信这是我的问题,因为我在我的ant build.xml中有这个

<javac
  debug="true"
  debuglevel="lines,vars,source"
  includeAntRuntime="false"
  classpathref="classpath.compile"
  srcdir="${src.dir}"
  destdir="${build.classes}" />
Run Code Online (Sandbox Code Playgroud)

此外,根据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
Run Code Online (Sandbox Code Playgroud)

什么给出了什么?当我运行代码时,是否需要在jvm中设置一个参数?

谢谢!

bva*_*sen 25

我认为正确的方法是:

<javac debug="true" debuglevel="lines,vars,source"
Run Code Online (Sandbox Code Playgroud)

请注意,行,变量,源之间没有空格