Tôi muốn bắt đầu chế độ gỡ lỗi cho ứng dụng của mình. Nhưng tôi cần bắt đầu chế độ gỡ lỗi từ dấu nhắc lệnh. Có khả thi không? Và liệu quy trình có khác nhau giữa tomcat 5.5 đến tomcat 6. không?
Tôi muốn bắt đầu chế độ gỡ lỗi cho ứng dụng của mình. Nhưng tôi cần bắt đầu chế độ gỡ lỗi từ dấu nhắc lệnh. Có khả thi không? Và liệu quy trình có khác nhau giữa tomcat 5.5 đến tomcat 6. không?
Câu trả lời:
$ catalina.bat jpda start
Trên Linux / Unix
$ catalina.sh jpda start
Thông tin thêm ---->
https://cwiki.apache.org/confluence/display/TOMCAT/Developing
startup.sh
. Chỉnh sửa dòng cuối cùng trong tomcat/bin/startup.sh
đến exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
. Tôi luôn quên khởi động ở chế độ gỡ lỗi và tôi có thể lưu một lần khởi động lại 5 phút.
Đối với các biến đặt đầu tiên của windows:
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
để khởi động máy chủ ở chế độ gỡ lỗi:
%TOMCAT_HOME%/bin/catalina.bat jpda start
Đối với biến xuất đầu tiên unix:
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
và để khởi động máy chủ ở chế độ gỡ lỗi:
%TOMCAT_HOME%/bin/catalina.sh jpda start
Từ IDE của bạn, tạo cấu hình gỡ lỗi từ xa, định cấu hình nó cho cổng JPDA Tomcat mặc định là cổng 8000.
Từ dòng lệnh:
Linux:
cd apache-tomcat/bin
export JPDA_SUSPEND=y
./catalina.sh jpda run
Các cửa sổ:
cd apache-tomcat\bin
set JPDA_SUSPEND=y
catalina.bat jpda run
Thực thi cấu hình gỡ lỗi từ xa từ IDE của bạn và Tomcat sẽ bắt đầu chạy và bây giờ bạn có thể thiết lập các điểm ngắt trong IDE.
Ghi chú:
Các JPDA_SUSPEND=y
dòng là không bắt buộc, nó rất hữu ích nếu bạn muốn điều đó Apache Tomcat không bắt đầu thực hiện nó cho đến khi bước 3 được hoàn thành, hữu ích nếu bạn muốn các vấn đề khởi tạo ứng dụng khắc phục sự cố.
Một câu trả lời ngắn gọn là thêm các tùy chọn sau khi JVM được khởi động.
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.
Đầu tiên, Điều hướng đến TOMCAT-HOME/bin
thư mục.
Sau đó, thực hiện những điều sau trong dòng lệnh:
catalina.bat jpda start
Nếu máy chủ Tomcat đang chạy trong Linux, chỉ cần gọi catalina.sh
chương trình
catalina.sh jpda start
Tomcat 5.5 và Tomcat 6 cũng vậy
Các hướng dẫn này phù hợp với tôi trên apache-tomcat-8.5.20 trên mac os 10.13.3 sử dụng jdk1.8.0_152:
$ cd /path/to/apache-tomcat-8.5.20/bin
$ export JPDA_ADDRESS="localhost:12321"
$ ./catalina.sh jpda run
Bây giờ kết nối với cổng 12321 từ IntelliJ / Eclipse và tận hưởng gỡ lỗi từ xa.
Có hai cách để chạy tomcat trong chế độ gỡ lỗi
Sử dụng jdpa run
Sử dụng JAVA_OPTS
Đầu tiên thiết lập môi trường. Sau đó khởi động máy chủ bằng các lệnh sau.
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
%TOMCAT_HOME%/bin/catalina.sh jpda start
sudo catalina.sh jpda start
tham khảo bài viết này để biết thêm thông tin, điều này được xác định rõ ràng
Nếu bạn muốn thực hiện việc này thông qua powershell trên windows, điều này phù hợp với tôi
$ env: JPDA_SUSPEND = "y"
$ env: JPDA_TRANSPORT = "dt_socket"
/path/to/tomcat/bin/catalina.bat jpda start
Inside catalina.bat đặt cổng mà bạn muốn khởi động trình gỡ lỗi
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001
Sau đó, bạn chỉ cần khởi động trình gỡ lỗi bằng
catalina.bat jpda
Bây giờ từ Eclipse hoặc IDEA chọn gỡ lỗi từ xa và bắt đầu bắt đầu gỡ lỗi bằng cách kết nối với cổng 9001.