【问题标题】:Ant scripts, debugging JARs and EclipseAnt 脚本、调试 JAR 和 Eclipse
【发布时间】:2012-01-17 23:14:59
【问题描述】:

对于一个课堂项目,我正在使用卡内基梅隆大学制作的 Sphinx 开源语音识别框架。这是我第一次接触使用 ant 构建应用程序,这是一段有趣的时光。

我编写了一个应用程序,其目标是从麦克风输入或 WAV 文件中获取音频输入,使用两种可用配置之一对其进行转录,然后输出单词以及置信度评分。我写的代码可以工作,除了单词的置信度评分。该代码改编自 svn checkout 附带的演示实用程序,该实用程序按宣传的方式工作。但是,在我的项目中,它抛出了 NullPointerException,我无法仅从代码中找出原因。

由于这个应用程序是使用 ant 构建的,我知道我需要在 buildscript 中插入一些代码以允许调试。 This question 有助于理解该做什么,但我不知道在哪里插入该代码。我假设它在标题中,但the source 确实没有显示包含 JVM 参数的地方。

在这种情况下如何完成调试?

【问题讨论】:

    标签: java debugging ant executable-jar


    【解决方案1】:

    要调试您的代码,请使用调试器。每个 IDE 都有一个。您链接到的问题中的 JVM 参数用于能够从 IDE 外部(可能在不同的主机上)启动应用程序,并从 IDE 内远程调试该应用程序。从你的问题来看,我认为你不需要这个。您只需从 IDE 以调试模式运行您的应用程序。

    请注意,NullPointerException 很少需要任何调试:它的堆栈跟踪会准确告诉您它发生在哪一行,原因通常是您正在调用空对象的方法。

    【讨论】:

    • 第 1 点:堆栈跟踪确实告诉我异常发生的位置,但我不知道传递对象或接收者对象是否为空。仅基于应用程序代码,无法判断,程序配置是通过初始化时使用的外部 xml 文件控制的。第 2 点-我尝试在 Eclipse 中进行调试,但出现资源未找到错误。通过 ant 构建时不会遇到此错误,仅在尝试通过标准 Eclipse 应用程序配置运行程序时才会遇到此错误。
    【解决方案2】:

    在 Eclipse 中,检查您的项目属性-> Java 构建路径-> 源选项卡。查看您的所有相关来源是否都包含在其中。

    【讨论】:

      猜你喜欢
      • 2012-01-24
      • 2014-07-02
      • 2013-10-21
      • 2011-03-03
      • 2011-01-25
      • 2015-08-05
      • 2016-02-10
      • 2015-09-23
      • 2013-03-01
      相关资源
      最近更新 更多