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 phải bắt đầu chế độ gỡ lỗi từ dấu nhắc lệnh. Có thể không? Và các thủ tục sẽ khác nhau giữa tomcat 5.5 đến tomcat 6.?Làm thế nào để bắt đầu chế độ gỡ lỗi từ dấu nhắc lệnh cho máy chủ apache tomcat?
Trả lời
Trước tiên, điều hướng đến thư mục TOMCAT-HOME/bin
.
Sau đó, thực hiện như sau trong dòng lệnh:
catalina.bat jpda start
Nếu máy chủ Tomcat đang chạy dưới Linux, chỉ cần gọi chương trình catalina.sh
catalina.sh jpda start
Đó là giống nhau cho Tomcat 5.5 và Tomcat 6
Bạn có thể cho tôi biết tương đương với Tomcat 7.0 không? – RAS
$ catalina.bat jpda start
Trên Linux/Unix
$ catalina.sh jpda start
Thông tin thêm ---->
http://wiki.apache.org/tomcat/FAQ/Developing
Cảm ơn, điều này đã giúp tôi thiết lập tùy chọn gỡ lỗi trong 'startup.sh'. Chỉnh sửa dòng cuối cùng trong 'tomcat/bin/startup.sh' thành' exec '$ PRGDIR "/" $ EXECUTABLE "jpda start" $ @ "'. Tôi luôn quên bắt đầu trong chế độ gỡ lỗi và tôi có thể lưu khởi động lại 5 phút. –
Đối với cửa sổ đầu tiên thiết lập các biến:
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
để bắt đầu máy chủ trong chế độ gỡ lỗi:
%TOMCAT_HOME%/bin/catalina.bat jpda start
Đối với unix xuất khẩu đầu tiên biến:
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
và để bắt đầu máy chủ trong chế độ gỡ lỗi:
%TOMCAT_HOME%/bin/catalina.sh jpda start
Từ IDE của bạn, tạo ra một cấu hình debug từ xa, cấu hình nó cho mặc định cổng JPDA Tomcat mà là cổng 8000.
Từ dòng lệnh:
Linux:
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
Execute cấu hình debug từ xa từ IDE của bạn, và Tomcat sẽ bắt đầu chạy và bây giờ bạn có thể đặt breakpoint trong IDE.
Lưu ý:
Dòng JPDA_SUSPEND=y
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 gỡ rối các vấn đề khởi tạo ứng dụng.
Bên trong catalina.dơi thiết lập các cổng mà bạn muốn để bắt đầu gỡ rối
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001
Sau đó, bạn chỉ đơn giản là có thể bắt đầu các chương trình gỡ rối với
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ỡ rối bằng cách kết nối đến cảng 9001.
có hai cách để chạy tomcat trong chế độ gỡ lỗi
Sử dụng jdpa chạy
Sử dụng JAVA_OPTS
tham khảo article này để biết thêm thông tin này được xác định rõ nó
Vui lòng thêm giải pháp thực tế vào câu trả lời của bạn, không chỉ cung cấp liên kết. Ngoài ra, liên kết dẫn đến một trang web rõ ràng thuộc về bạn. Trong những trường hợp như vậy, bạn nên tiết lộ liên kết của mình với liên kết. http://stackoverflow.com/help/promotion –
Không được khuyến khích chỉ liên kết câu trả lời, vì nếu liên kết thay đổi thông tin bị mất. Bạn nên đăng các chi tiết liên quan .... –
Một câu trả lời ngắn gọn là để thêm các tùy chọn sau khi JVM được bắt đầu.
JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"
Tôi khuyên bạn không nên sử dụng 8080 làm cổng gỡ lỗi ... – Dave
Khi sử dụng JAVA_OPTS -Xdebug, bạn không cần bắt đầu catalina bằng jpda. Nếu không, bạn có thể kết thúc với điều này 'LRI: Không thể tải nhân viên JVM TI hai lần này, hãy kiểm tra dòng lệnh java của bạn để biết các tùy chọn jdwp trùng lặp.' – lnarasimhan
Những hướng dẫn làm việc cho 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.
catalina.bat jpda bắt đầu – sanbhat
có thể trùng lặp của [Bắt đầu tomcat 6 trong chế độ gỡ lỗi?] (Http://stackoverflow.com/questions/5458212/start-tomcat-6-in-debug-mode) – Makoto
Bạn nên chấp nhận một câu trả lời. Câu trả lời của Mohammad Adil trả lời câu hỏi của bạn. – Amudhan