Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

standalone java application 에서는 쉽게 디버그를 할수 있다. 하지만 web application

독립적으로 움직이지 않고 WAS 를 통해서 모든 데이터를 주고 받기 때문에 debug

하기 위해선 몇가지 설정이 필요하다.

 

보통 나는 2가지 방법을 사용하는데 Server(WAS) debug 모드로 띄우는것이다.

다른 한가지는 eclipse 에서 제공하는 remote debugging 를 설정해서 사용하는것이다.

주로 eclipse remote debugging 사용하는데 이유는 외부에서 접근하는 remote 방식이기

때문에 debug 를 하고 싶지 않을때는 remote 종료해서 그냥사용하고 하고 싶을 때

다시 접속해서 사용할수 있다는것이다.

[일반적인 debuging 방법]

eclipse remote debugging 는 어떤 WAS 에서나 공통적으로 적용할수 있다.

WAS 에 국한된 설정값이 들어가는게 아니라 VM 을 띄울 때 JAVA_OPT 을 이용해서

remote debugging 를 할수 있도록 설정한후 eclipse 에서 제공하는 프로그램으로

접근해서 사용하면 되는것이기 때문이다. 

먼서 JAVA_OPT 를 설정하기 위해서 tomcat, weblogic 등등 어떤서버이든간에

VM 시작하기전에 JAVA_OPT 에 다음과 같은 값을 설정한다.

remote debugging 를 할수 있도록 8000 으로 포트를 열어둔다.

JAVA_OPT="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,

            server=y,suspend=n"

 

weblogic 에서 설정한 예이다 .setDomainEnv.cmd에 설정값을 DEBUG_PORT 변수에 값을셋팅하면

설정이 추가 된다. 기본은 도메인 만들 때 설정한 8453 이 된다. 

 이 외에 다른 방법은 eclipse 에서 Run.. 을 클릭해서 환경설정 화면을 연다.


왼쪽에 Generic BEA Weblogic Server 를 클릭해서 오른쪽에 Arguments 탭을 클릭한다.

그리고 아래에 VM arguments 란에 옵션값을 넣는다.

이제 설정이 끝났으니 remote 설정을 해야한다.

Remote Java Application 을 선택해서 오른쪽 마우스클릭후 새로운 것을 하나 생성한다.

생성하게 되면 설정해야되는 옵션값에서 Project 란에 연결하고자 하는 프로젝트를 선택하고

Host 에 서버 주소를 넣고 port java_opt 에서 넘긴 8453번 포트번호를 넣는다. 

 Server 실행하고 remote debugging 에서 연결하게 되면 debug 모드에서

Java HotSpot 스레드가 연결된 것을 볼수 있다.

이제 breakpoint 설정하고 explorer 실행하면 debug 를 할수 있다.


반응형
Posted by 녹두장군1
,