Eclipse로 일괄 시작 Java 프로그램 디버깅 (단계 실행)

6899 단어 이클립스자바bat

Java 프로그램 작성



Eclipse 프로젝트 구성



프로젝트 구성은 이런 느낌입니다.


Hello.java가 아니라 Debug.java였습니다. 스크린샷이 잘못되었습니다. (내 실수입니다!)
Hello.java가 아닌 이후에도 Debug.java로 나오므로 Debug.java라는 클래스를 만듭니다.

실행할 Java 파일



Java 파일 「Debug.java」의 내용은 이런 느낌으로.

Debug.java
package sample;

public class Debug {
    public static void main(String[] args) {
        System.out.println("");
        System.out.println("java引数 → " + args[0]);
        String vmarg = System.getProperty("vmarg");
        System.out.println("VM引数 → " + vmarg);
    }
}

처리로서는 main에 건네주는 인수와 VM 인수의 값을 print하고 있을 뿐입니다.

Java를 실행하는 배치 작성



execute.bat
SET CONTEXT="C:\eclipse4.2\workspace\Debug"
SET REMOTE_DEBUG="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"
call %JAVA_HOME%\bin\java.exe -cp %CONTEXT%\bin\ %REMOTE_DEBUG% -Dvmarg="HelloWorld_VMArg" sample.Debug "HelloWorld_JAVAARG"
pause

전부 4행입니다.
copipe를 받으면 제대로 붙여 넣을 수 있다고 생각합니다.

1행째



이 bat를 놓고 있는 프로젝트를 변수 CONTEXT에 세트.
단계 실행하려는 Java 파일도 이 디렉토리에 있습니다.

두 번째 줄



REMOTE_DEBUG 변수에 Java 커멘드 실행시에 주는 리모트 디버그용의 인수를 세트 하고 있습니다.

세 번째 줄



Java 클래스 「Debug」를 실행하는 부분입니다.


  • Java 명령의 인수에 -cp로 클래스 경로를 지정합니다. %CONTEXT%\bin\부분입니다.
  • 2 행으로 설정한 REMOTE_DEBUG 변수를 인수로서 지정. '%REMOTE_DEBUG%' 부분입니다.
  • VM 인수로서 vmarg라는 이름으로 캐릭터 라인 "HelloWorld_VMArg"를 지정.
  • 실행하는 Java 프로그램을 지정 「sample.Debug」의 부분.
  • Java 프로그램 "sample.Debug"의 인수로서 캐릭터 라인 "HelloWorld_JAVAARG"를 지정.

  • bat 실행



    execute.bat를 실행합니다. 보통 더블 클릭하면 실행되네요.

    이런 식으로 멈출 것입니다.


    Eclipse로 원격 디버깅



    설정 만들기



    패키지 탐색기의 Debug 프로젝트를 마우스 오른쪽 버튼으로 클릭 >> Debug As >> Debug Configuration에서
    아래 화면과 같이 Remote Java Application 작성


    실행



    그리고는 Debug 버튼을 포치하면 됩니다만, 그 전에 Debug.java에 Eclipse로 브레이크 포인트 넣어 두어 주세요.
    그럼, 포치!
    그러면 중단 점에서 멈 춥니 다.


    단계를 실행하면 명령 프롬프트에 print 디버그 결과도 표시됩니다.


    왠지, 가다랭이로 대규모 배치 프로그램이라든지 print문 넣어 디버그 하는 싫네요.
    있을 수 없을 것입니다!

    이상입니다.

    좋은 웹페이지 즐겨찾기