Remote Debug

개요

원격 컴퓨터의 WAS(Jboss, JEUS, WebLogic)에서 실행되는 어플리케이션에 대한 디버깅 기능을 제공한다.

설명

Java 디버거의 클라이언트/서버 디자인을 사용하면 네트워크에 있는 컴퓨터에서 Java 프로그램을 실행하고 플랫폼을 실행하는 워크스테이션에서 이 프로그램을 디버그 할 수 있다.

참고 : 원격 디버깅을 사용하려면 이 기능을 지원하는 JVM을 사용하고 있어야 합니다.

디버깅 절차

  1. Java 프로그램 빌드
  2. Java 프로그램 원격 컴퓨터에 Deploy
  3. 원격 컴퓨터에 JVM 옵션 설정 후 서버 구동
  4. 워크스테이션에서 원격 컴퓨터의 주소 및 포트를 지정하여 디버깅

환경설정

원격 디버깅을 위해서는 원격 컴퓨터의 WAS 서버 시작시 JVM 옵션에 다음과 같은 내용을 추가해야 한다.

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

Jboss

run 배치 스크립트 파일의 JAVA_OPTS변수에 위 옵션을 추가한다.

  set JAVA_OPTS=-Xdebug 
  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 
  %JAVA_OPTS%

JEUS

JEUSMain.xml의 컨테이너 설정의 command-option에 아래 부분을 추가한다.

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

Weblogic

startWebLogic 배치 스크립트 파일의 JAVA_OPTS변수에 위 옵션을 다음과 같이 추가한다.

  set JAVA_OPTS= -Xdebug -Xnoagent 
  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 
  %JAVA_OPTS%

위와 같이 지정하면 8000 포트를 이용하여 원격 디버깅이 가능하도록 지원하겠다는 의미이다.

사용법

원격 Java 응용프로그램 실행 구성을 작성하려면 다음을 수행한다.

  • Workbench 메뉴 표시줄에서 Run > Debug Configurations…을 선택하여 실행 구성 대화 상자를 표시한다.
  • 왼쪽 구성 유형 목록에서 Remote Java Application을 선택한다.
  • New launch Configuration 도구 모음 단추를 클릭한다. 새 원격 실행 구성이 작성되고 Connect, Source, Common의 세가지 탭이 표시된다.

  • 연결 탭의 프로젝트 필드에서 실행의 참조(소스 찾아보기용)로 사용할 프로젝트를 입력하거나 찾아서 선택한다.
  • 연결 탭의 호스트 필드에서 Java 프로그램이 실행될 호스트의 IP 주소 또는 도메인 이름을 입력한다. 프로그램이 Workbench와 동일한 시스템에서 실행되고 있으면 localhost를 입력한다.
  • 연결 탭의 포트 필드에서 원격 VM이 연결을 허용할 포트를 입력한다.
  • 원격 VM 종료 허용 플래그는 디버거에서 종료 명령을 사용 할 수 있는지 여부를 토글하여 판별합니다. 연결 중인 VM을 종료할 수 있도록 하려면 이 옵션을 선택한다.
  • 디버그를 클릭한다.
  • 디버그 퍼스펙트브로 변환하면 원격 컴퓨터의 Thread정보가 표시 된다.

  • 디버깅 할 프로그램의 특정 위치에 중단점을 설정 한 후 해당 프로그램이 실행되도록 웹브라우저를 이용하여 서비스를 호출한다.

참고자료

 
egovframework/dev2/imp/debug/remote_debug.txt · 마지막 수정: 2015/04/14 11:24 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki