2011-12-11 66 views
1

對於課程項目,我正在使用由卡內基梅隆大學制作的Sphinx開源語音識別框架。這是我第一次使用ant來構建應用程序,並且這是一個有趣的時間。Ant腳本,調試JAR和Eclipse

我已經編寫了一個應用程序,其目標是從麥克風輸入或WAV文件中獲取音頻輸入,使用兩種可用配置之一轉錄它,並輸出單詞以及信心評分。我寫的代碼作品除了文字的信心評分外。該代碼是從svn checkout附帶的演示實用程序改編而來的,並且該實用程序按照所宣稱的那樣工作。但是,在我的項目中,它拋出了一個NullPointerException異常,我無法從代碼中找出原因。

由於此應用程序是使用ant構建的,我知道我需要在buildscript中插入一些代碼以允許調試。 This question有助於理解要做什麼,但我不知道在哪裏插入該代碼。我假設它在標題中,但the source確實沒有顯示包含JVM參數的地方。

如何在這種情況下完成調試?

回答

0

要調試您的代碼,請使用調試器。每個IDE都有一個。您鏈接到的問題中的JVM參數用於從IDE外部啓動應用程序,可能位於不同的主機上,並從IDE內遠程調試此應用程序。從你的問題來看,我認爲你不需要這個。您只需在IDE中以調試模式運行應用程序。

請注意,NullPointerException幾乎不需要任何調試:它的堆棧跟蹤會準確地告訴您它發生在哪一行,原因通常是您在空對象上調用方法。

+0

第一點:stacktrace確實告訴我發生異常的位置,但我不知道傳入或接收者對象是否爲空。僅基於應用程序代碼,無法分辨,程序配置通過初始化時使用的外部xml文件進行控制。第2點 - 我在Eclipse中嘗試調試,並得到一個資源未找到錯誤。只有在嘗試通過標準Eclipse應用程序配置運行程序時,通過ant構建時纔會遇到此錯誤。 – Jason

0

在Eclipse中,檢查您的項目屬性 - > Java構建路徑 - >源選項卡。看看你的相關資源是否包含在那裏。