2012-07-25 2 views
3

최근에 Idea에서 원격 디버깅 절차에 대해 알게되었습니다. 내가 뭘 할 원격 디버그 구성 실행 | 디버그 구성을 명령 줄 java 실행 매개 변수에 대한 아이디어로 나타냅니다. 실제 명령 줄 매개 변수는 다음과 같습니다.Intellij 아이디어를 사용한 원격 디버깅

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

스크립트 인 경우이 명령을 추가합니다. 이렇게하면 명령 줄에 다음 메시지가 표시됩니다.

Listening for transport dt_socket at address: 8000 

따라서 로컬 소스 코드를 사용하여 디버깅 할 수 있습니다. 그러나 원격 디버깅이 어떻게 작동하는지 제대로 이해하지 못합니다. 원격 디버깅이 실제로 어떻게 작동하는지 알고있는 사람이라면 누구나 설명해주십시오.

감사합니다.

+2

가능한 복제본 [Java 원격 디버깅, 기술적으로 어떻게 작동합니까?] (http://stackoverflow.com/questions/3591497/java-remote-debugging-how-does-it-work-technically) – mindas

답변

8

원격 디버깅은 로컬 또는 원격 시스템에서 Java 코드를 어디에서나 실행할 수 있음을 의미합니다. 디버그 모드에서 실행 중이면 TCP 네트워크 연결을 사용하여 IDE에서 연결하고 디버깅을 수행 할 수 있습니다. IDE에는 실행중인 클래스의 소스 코드가 있어야하므로이 코드 안에 중단 점을 배치하고 스테핑, 변수 검사 등을 수행 할 수 있습니다.

자세한 내용은 JPDA documentation을 참조하십시오.

0

다른 환경에있는 코드를 테스트하는 가장 좋은 방법입니다.

원격 디버그를 사용하기 전에 다음 사항을 확인해야합니다.

  1. 우리 서버에서 JBOSS를 사용하고 있습니다.
  2. 구성 - JBOSS_HOME/빈/run.conf JAVA_OPTS = "$ {JAVA_OPTS} -Xdebug -Xnoagent -Xrunjdwp : 전송 = dt_socket, 주소 = 8787, 서버 = y를 일시 중단 = N"

  3. 지금 서버 IP 및 포트 번호를 intellij 원격 디버깅에 추가하십시오. 4. 최신 버전의 프로젝트가 서버와 동기화되어있는 로컬에 있어야합니다. 그렇지 않으면 디버그가 허용되지 않습니다.

  4. 프로젝트에 대해 intellij 서버를 시작해야합니다.
  5. 그런 다음 원격 디버그를 시작하십시오.
  6. 로컬에 디버그 지점을 배치하고 서버에서 테스트를 시작할 때 디버그 지점에 도달하면 중지하고 처리 할 때까지 기다립니다.

다른 점은 큐에있는 모든 요청을 보유 할 것이고 다른 사용자가 테스트를 중단 할 수있는 중단 점을 통과하도록 허용하지 않습니다.