2011-12-11 2 views
1

클래스 프로젝트의 경우 Carnegie Mellon University에서 만든 Sphinx 오픈 소스 음성 인식 프레임 워크를 사용하고 있습니다. 이것은 응용 프로그램을 빌드하기 위해 개미를 사용하는 것에 대한 첫 번째 노출이며 재미있는 시간이었습니다.개미 스크립트, 디버깅 JAR 및 Eclipse

마이크로폰 입력 또는 WAV 파일에서 오디오 입력을 가져 와서 사용 가능한 두 가지 구성 중 하나를 사용하여 녹음하고 자신감 점수를 출력하는 것이 목적 인 응용 프로그램을 작성했습니다. 내가 작성한 코드는 단어의 신뢰 점수를 제외하고는 작동합니다. 이 코드는 svn 체크 아웃에 포함 된 데모 유틸리티에서 수정되었으며 유틸리티는 광고 된대로 작동합니다. 그러나, 내 프로젝트에서 NullPointerException throw 및 코드 혼자 이유를 알아낼 수 없습니다.

이 응용 프로그램은 ant를 사용하여 빌드되었으므로 디버깅을 허용하려면 buildscript에 일부 코드를 삽입해야합니다. This question은 무엇을해야하는지 이해하는 데 도움이되었지만 그 코드를 어디에 삽입해야할지 모르겠습니다. 헤더에 있다고 가정하고 있지만 the source은 실제로 JVM 인수를 포함 할 수있는 곳을 표시하지 않습니다.

이 상황에서 어떻게 디버깅을 수행합니까?

답변

0

코드를 디버깅하려면 디버거를 사용하십시오. 모든 IDE에는 하나가 있습니다. 링크 된 질문의 JVM 인수는 IDE 외부 (가능하면 다른 호스트)에서 응용 프로그램을 시작할 수 있고 IDE 내에서이 응용 프로그램을 원격으로 디버깅하는 데 사용됩니다. 귀하의 질문에, 나는 당신이 필요하다고 생각하지 않습니다. IDE에서 디버그 모드로 애플리케이션을 실행하기 만하면됩니다.

NullPointerException에는 디버깅이 거의 필요하지 않습니다. 스택 추적은 발생하는 라인을 정확히 알려주고 원인은 일반적으로 null 객체에서 메소드를 호출한다는 것입니다.

+0

포인트 1 : stacktrace가 예외가 발생한 위치를 알려 주었지만 전달 또는 수신 객체가 null인지 여부를 알 수 없습니다. 응용 프로그램 코드만으로는 알 수 없으며 프로그램 구성은 초기화시 사용되는 외부 xml 파일을 통해 제어됩니다. 요점 2 - 나는 이클립스에서 디버깅을 시도했는데 오류가 없다는 오류가 발생했다. 표준 Eclipse 응용 프로그램 구성을 통해 프로그램을 실행하려고 할 때만 ant를 통해 빌드 할 때이 오류가 발생하지 않습니다. – Jason

0

Eclipse에서 프로젝트 속성 -> Java 빌드 경로 -> 소스 탭을 선택하십시오. 모든 관련 소스가 여기에 포함되어 있는지 확인하십시오.