远程调试不起作用,显示错误"Line number information is missing"



我一直在这里阅读一些答案,它们确实帮助了我,但我不明白它工作正常。情况是这样的:

  1. 构建 witn Ant 并将调试标志设置为 true。这是我构建的一部分.xml:

    <javac srcdir="${src.dir}" destdir="${build.dir}" debug="true"> <classpath refid="classpath"/> </javac>

    然后我做:

    ant -file build.xml jar

  2. 将.jar上传到服务器,通过 ssh 隧道到达,然后启动:

    BASEDIR=/path/to/the/base

    CP=$BASEDIR/mainApplication.jar:$BASEDIR/lib/someLib1.jar:$BASEDIR/lib/someLib2.jar

    MAINCLASS=package.to.the.main.Class

    echo classpath is $CP

    echo mainclass is $MAINCLASS

    java -Xms512m -Xmx1024m -Xnoagent -agentlib:jdwp=transport=dt_socket,address=<port>,server=y,suspend=n -cp $CP $MAINCLASS $BASEDIR/file.properties

  3. SSH隧道:

    L<localPort> machine:<port>

  4. Netbeans 中的远程调试。在 Netbeans 中,我执行Debug -> Attach Debugger,这些是我的选择:

    Debugger: Java Debugger (JDPA)

    Connector: SocketAttach (Attaches by socket to other VMs

    Transport: dt_socket

    Host: localhost

    Port: <localPort>

因此,在此配置之后,我可以在调试模式下启动 Netbeans,但是当我在任何行中设置断点时,netbeans 会显示下一条错误消息:

无法提交断点 LineBreakpoint OneClass.java:172,原因:类文件包中缺少行号信息。 无效的行断点 OneClass.java : 172

错过了什么?或者我做错了什么?

提前谢谢。

我不知道

我错过了什么,但配置似乎是正确的,并且知道它工作正常。

有了debug="true"应该可以工作,那就是使用行号信息构建应用程序的代码。

问候。

相关内容

  • 没有找到相关文章

最新更新