Eclipse 기반하에서 Tomcat 서버와 Remote Debugging 하기
- Remote Debugging을 가능하도록 하기 위해서는 먼저 Tomcat 서버를 시작할 때 JVM에 다음과 내용을 추가해야 한다. CATALINA_HOME/bin/catalina.bat 파일에 다음 라인을 추가한다.
set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
- 위와 같이 추가하게 되면 8000 port를 이용하여 Remote Debugging이 가능하도록 지원하겠다는 의미이다. Tomcat 서버가 기본적으로 8080 port를 사용하고 있으므로 8080 port 이외에 다른 port를 사용해야 한다. 위 옵션에 대한 자세한 설명은 Eclipse Special: Remote Debugging Tomcat & JBoss Apps with Eclipse문서를 참고하기 바란다.
- Remote Debugging 하고자하는 애플리케이션을 Tomcat 서버에 배포한 다음 Tomcat 서버를 시작한다. 이 문서에서 사용한 예제는 Spring 프레임워크 워크북의 4장 예제를 사용하였다.
- Eclipse를 실행한 다음 Run >> Debug.. >> Remote Java Application 으로 이동한 다음 New 버튼을 클릭하여 새로운 Remote Java Application을 추가해준다.
- 새로운 Remote Java Application에서 설정할 부분은 Remote Debugging을 하기 위한 Eclipse내의 프로젝트와 Remote Server IP, Port를 위 그림과 같이 설정해주면 된다.
- Debug 버튼을 클릭하여 Remote Tomcat 서버를 디버깅 가능한 상태로 유지할 수 있다. Debug 버튼을 클릭하면 다음 그림과 같이 Remote 디버깅 상태가 유지된다.
- Spring 프레임워크 워크북의 4장 예제소스에서 로그인 하는 과정을 디버깅한 화면은 다음과 같다.
- 이상의 과정을 통하여 살펴보았듯이 Remote 상에 있는 WAS를 Eclipse내에서 Remote 디버깅하는 것이 가능하다. 다른 WAS에 대한 내용은 다음 참고문헌을 참고하기 바란다.
참고문헌
- Debugging with the Eclipse platform : Eclipse 기반하에서 디버깅을 어떻게 사용할 수 있는지에 대해서 다루고 있으며, 또한 Remote Debugging 설정에 대해서도 다루고 있다.
- Configuring Eclipse for Remote Debugging : OnJava에 올라온 문서인데 Eclipse 기반하에서 JBoss WAS와의 Remote Debugging을 설명하고 있다. 다른 WAS에도 비슷한 방법으로 설정하는 것이 가능할 것으로 생각한다.
- Eclipse Special: Remote Debugging Tomcat & JBoss Apps with Eclipse : Tomcat, JBoss에서 Eclipse의 Remote Debugging을 설정 및 활용하는 방법에 대하여 다룬다.