내 응용 프로그램의 디버그 모드를 시작하고 싶습니다. 하지만 명령 프롬프트에서 디버그 모드를 시작해야합니다. 가능합니까? 그리고 절차는 tomcat 5.5에서 tomcat 6까지 다양합니까?
내 응용 프로그램의 디버그 모드를 시작하고 싶습니다. 하지만 명령 프롬프트에서 디버그 모드를 시작해야합니다. 가능합니까? 그리고 절차는 tomcat 5.5에서 tomcat 6까지 다양합니까?
답변:
$ catalina.bat jpda start
Linux / Unix에서
$ catalina.sh jpda start
더 많은 정보 ---->
https://cwiki.apache.org/confluence/display/TOMCAT/Developing
startup.sh
. 의 마지막 줄 tomcat/bin/startup.sh
을 exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
. 나는 항상 디버그 모드에서 시작하는 것을 잊고 5 분 재시작을 절약 할 수 있습니다.
Windows의 경우 먼저 변수를 설정하십시오.
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
디버그 모드에서 서버를 시작하려면 :
%TOMCAT_HOME%/bin/catalina.bat jpda start
유닉스 최초 내보내기 변수의 경우 :
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
디버그 모드에서 서버를 시작하려면 :
%TOMCAT_HOME%/bin/catalina.sh jpda start
IDE에서 원격 디버그 구성을 만들고 포트 8000 인 기본 JPDA Tomcat 포트에 대해 구성합니다.
명령 줄에서 :
리눅스 :
cd apache-tomcat/bin
export JPDA_SUSPEND=y
./catalina.sh jpda run
Windows :
cd apache-tomcat\bin
set JPDA_SUSPEND=y
catalina.bat jpda run
IDE에서 원격 디버그 구성을 실행하면 Tomcat이 실행되기 시작하고 이제 IDE에서 중단 점을 설정할 수 있습니다.
노트 :
이 JPDA_SUSPEND=y
줄은 선택 사항이며 3 단계가 완료 될 때까지 Apache Tomcat이 실행을 시작하지 않도록하려는 경우에 유용하며 응용 프로그램 초기화 문제를 해결하려는 경우에 유용합니다.
짧은 대답은 JVM이 시작될 때 다음 옵션을 추가하는 것입니다.
JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
먼저 TOMCAT-HOME/bin
디렉터리로 이동합니다 .
그런 다음 명령 줄에서 다음을 실행합니다.
catalina.bat jpda start
Tomcat 서버가 Linux에서 실행 중이면 catalina.sh
프로그램을 호출하십시오.
catalina.sh jpda start
Tomcat 5.5 및 Tomcat 6에서도 동일합니다.
이 지침은 jdk1.8.0_152를 사용하는 mac os 10.13.3의 apache-tomcat-8.5.20에서 저에게 효과적이었습니다.
$ cd /path/to/apache-tomcat-8.5.20/bin
$ export JPDA_ADDRESS="localhost:12321"
$ ./catalina.sh jpda run
이제 IntelliJ / Eclipse에서 포트 12321에 연결하고 원격 디버깅을 즐기십시오.
Windows의 powershell을 통해이 작업을 수행하려면이 작업이 저에게 효과적이었습니다.
$ env : JPDA_SUSPEND = "y"
$ env : JPDA_TRANSPORT = "dt_socket"
/path/to/tomcat/bin/catalina.bat jpda 시작