【问题标题】:Stack trace contains no line numbers: main(Unknown Source) [closed]堆栈跟踪不包含行号:main(未知来源)[关闭]
【发布时间】:2018-10-18 07:13:19
【问题描述】:

尝试执行我的项目时,我遇到了一个以main(Unknown Source) 开头的错误,然后通过代码传播。我觉得括号里面应该写出错误所在的那行代码。

我必须澄清我的代码已经部署,所以我只有.class 文件。

【问题讨论】:

  • 请分享一些代码给我们看看可能缺少什么!即使部署了代码......另外,在控制台中检查可以给你什么
  • @M.K 我觉得在这里索要代码有点不合适,因为 OP 明确声明他们没有。
  • 请阅读“如何创建minimal reproducible example”。然后使用edit 链接改进您的问题(不要通过 cmets 添加更多信息)。否则我们无法回答您的问题并为您提供帮助。
  • @JiriTousek 至于我的知识范围(可能没有那么多),我想我需要更多的东西,以便我可以检查并查看错误来自哪里,所以我可以尝试并提供尽可能多的帮助如我所能。但如果他/她只有 .class 文件,可能你是对的。
  • 也许这里的第一点是:你了解java堆栈跟踪是什么吗?

标签: java stack-trace .class-file


【解决方案1】:

如果您(或其他任何人)编译的类没有调试符号 (javac -g option),您将看不到行号。

您可以使用javap -v 验证这是否是原因。


也就是说,如果您没有源代码,那么知道行号对您有何帮助?要么您可以从错误消息本身中找到错误的原因,要么您必须以某种方式获取源代码(找到拥有它的人或反汇编类文件)。希望main 足够短,即使没有行号,您也可以确定错误发生的位置。

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 2012-04-25
    • 2011-06-07
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多