2014-01-31 4 views
0
echo "LSE Parser v1.0" 
javac -d ../build -classpath ../build:${MY_CLASSPATH} *.java 
cd ../build 
jar -cf ../lib/lse.jar . 
cd ../src 

위의 내용은 Java 응용 프로그램 용 빌드 스크립트입니다. 모든 CLASSPATH가 정의되어 있고 응용 프로그램을 실행하는 serperate 실행 파일이 있습니다.Eclipse 문제의 원격 디버깅

Eclipse에서 응용 프로그램을 원격 디버깅하려고하지만 문제가 발생합니다. 코드가 유닉스 서버 호스트에 있습니다. 나는 밀접하게 디버그 구성에 관한 지시를 따랐다 ... 일식.

  1. 내가 퍼티 터미널에서 내 빌드 (위)의 위치와 함께 실행합니다

    이 내가 뭘하는지입니다. ./build

  2. 내가 내가 임의의 이름을 입력 ... 일식 디버그 설정에 java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999
  3. 를 입력 한 프로젝트는 LSE, 올바른 호스트를 준 9999 원격 VM의 종료를 확인으로 포트 번호를 준됩니다. 디버그를 클릭하면 중단 점에서 멈추지 않습니다.

참고 : "lse"프로젝트에는 응용 프로그램에서 사용하는 3 개의 .java 소스가 있습니다. "lse"프로젝트에는 src 컨텐츠 만 있지만 Unix 호스트에는 모든 lib, scripts, config 폴더가 있습니다.

누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까? 2 단계 후에, 나는 다음 3 단계 후 Listening for transport dt_socket at address: 9999

을 얻을 수 있었다, 나는 퍼티

Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 
where options include: 
    -d32   use a 32-bit data model if available 
    -d64   use a 64-bit data model if available 
    -client  to select the "client" VM 
    -server  to select the "server" VM 
    -hotspot  is a synonym for the "client" VM [deprecated] 
        The default VM is server, 
        because you are running on a server-class machine. 
.... 

에 대한 몇 가지 메시지를 얻을 이클립스 디버그 모드에서 종료 상태를 참조하십시오. 자바 핫스팟 서버 [호스트 bla bla]

답변

0

당신이 지금까지 이것을 해결했다고 상상해보십시오.하지만 자바가 실행될 클래스의 이름을 제공하는 것을 잊어 버린 것처럼 보입니다. 메쏘드가 foo/Bar.java과 같은 소스 파일에 있다면 java 행에 foo.Bar을 추가해야합니다. 뭔가 같이 :

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999 foo.Bar 

또한 디버그 정보를 생성하기 위해 javac의-g를 추가하는 것이 좋습니다.

소스가 디버깅하려는 IDE에 있다면이 모든 고통을 피할 수 있습니다.