티스토리 뷰

들어가며

  • Java 애플리케이션을 JAR형태로 외부 서버에서 실행을 할 때 디버깅을 해야 할때가 있다.
    • JDB를 사용할 수도 있을 것임(다만 불편하고 기능이 한정적)
  • 이때 Intelij로 Remote Debugging이라는 기능으로 디버깅을 할 수가 있다.

사용법

  • JAR를 실행하는 장비에서 디버깅을 위해 특정 port를 열어주고 Intelij에서 port에 접근하여 디버깅을 수행하는 방식이다.

외부 서버 설정

  • 먼저 JAR 파일을 실행할 때 argument를 추가하고 실행을 해줘야 한다.
    • 참, 이때 장비에서 지정한 port는 firewall port가 열려있어야 함
    • 리눅스인 경우 설정 방법은 아래 글 참고
 

[Linux] 방화벽(Firewall) 포트 허용 방법

Linux에서 외부 접근을 위해서 방화벽 포트를 열어야 할 때가 있습니다. 그럴 때 필요한 명령어는 아래와 같습니다. 터미널을 열고 명령중에서 port= 부분에 원하는 포트 번호를 적어주면 됩니다. firewall-cmd --..

jinseongsoft.tistory.com

//address 부분에 port를 적어줘야 한다.
java -jar -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y "실행할 JAR 파일"

 


InteliJ 설정

  • Edit Configuration 창에서 Remote 항목 선택

  • REMOTE Server 설정후 APPLY
    • Name 설정
    • Host에 Server IP와 이전에 지정한 port 지정
    • Command line ...에 아래 옵션 설정
      • -agentlib:jdwp=transport=dt\_socket,server=y,suspend=n,address=8000
    • Use module에 JAR파일에 해당하는 모듈 설정

 

  • 이후에 추가된 Configuration을 실행하면 외부 서버의 JAR가 실행되면서 InteliJ에서 디버깅이 되는 것을 확일 할 수 있다.

끝으로

이 글이 도움이 되었다면, 하단의 Google 광고 👎👎👎 한번씩 클릭 부탁 드립니다. 🙏🙏🙏

광고 클릭은 많은 힘이 됩니다! 

 

반응형
댓글