2009-06-24 3 views
1

Eclipse를 사용하여 JBoss를 실행하는 원격 서버에서 응용 프로그램을 디버깅하고 있습니다. 내 특별한 문제는 JSP에서 NullPointerException입니다. JSP는 스크립렛 안에 너무 많은 자바 코드를 가지고 있지만, 불행히도 리팩토링은 옵션이 될 수 없습니다. NullPointerException을 던지는 라인을 찾는 것은 엄청나게 도전적입니다.원격 JBoss 서버에서 JSP를 어떻게 디버깅합니까?

NullPointerException을 던지는 scriplet 행을 찾으려면이 JSP를 어떻게 원격 디버깅 할 수 있습니까?

문제점을 발견 할 때까지 JSP의 행을 주석 처리하여 문제점을 발견했습니다. 지루한 그러나 그것은 효과가 있었다.

답변

2

명령 줄이

-Xdebug -Xrunjdwp:transport=dt_socket,address=5001,server=y,suspend=n 

같은 것을 추가하여 일부 응용 프로그램 서버에서 원격 디버깅을 활성화 할 수 있습니다. 그런 다음 IDE에서 원격 디버깅을 위해 포트 5001에 연결하십시오. This page에는 다양한 응용 프로그램 서버에 대한 몇 가지 예가 있습니다.

컴파일 된 JSP에 대한 Java 소스가있는 경우 디버깅 JSP가 때로는 쉽게 완료 될 수 있습니다. 응용 프로그램 서버 설명서에서 JSP 컴파일을 확인하거나 JSP를 사전 컴파일하고 .java 파일을 저장하십시오. 이 파일을 디버거의 소스로 사용하십시오. 서버 로그의

+0

은 원격 디버그 세션에 연결하기 위해 JBoss를 시작하기위한 올바른 명령이기 때문에 받아 들여졌습니다. – Owen

1

일반적으로 서버 로그에서 오류를 찾을 수 있습니다. 원격 서버에서 실행 중이므로 해당 시스템으로 이동하여 로그를 확인하십시오. 오류를 지적해야합니다.

실시간으로 이클립스를 통해 서버 로그를 모니터링 할 수 있으므로 로컬 버전의 사이트를 실행하는 경우 디버깅하기가 더 쉽습니다. 코드를 완전히 디버깅 한 후 원격 서버에 배포 할 수있는 로컬 복사본을 만들면 유용 할 것입니다.

희망이 도움이됩니다.

+0

마지막 줄은 다음과 같습니다 나는 그것이 예외를 던지는 JSP에서 자바 코드의 범위를 좁힐 수 있지만 선을 좁힐 수 org.apache.jsp.myjsp._jspService (알 수없는 소스)에서 NullPointerException이 . – Owen

+0

디버깅 기호와 같은 소리가 해당 JSP에서 제거됩니다. 디버깅조차도별로 도움이되지 않습니다. –

+0

일부 수동 디버깅을해야 할 것처럼 보입니다. 널 테스트 등. 귀엽지 만 효과적이지 않습니다. – kgrad

관련 문제