2009-07-06 28 views
29

Past kịch bản
- Làm việc với Tomcat và bắt đầu vào debug modegỡ lỗi từ xa với Eclipse.
- Xác định cổng và kết nối với nhật thực trong cổng gỡ lỗi/từ xa này.
- Sử dụng đến các máy chủ debug trong máy chủ khác/máy chủdebug từ xa Jetty (không mvn, không có plug-in)

kịch bản Hôm nay
Bây giờ, tôi đang sử dụng Jetty và tôi đã cố gắng làm như vậy, nhưng không thành công, có thể bất cứ ai giúp tôi với điều đó?
Tôi không sử dụng Maven và không muốn khởi động Jetty bên trong từ Eclipse của tôi.

Môi trường:
Windows XP
Java V. 5
Jetty V. 6.1.15

Links:
http: // docs.codehaus.org/display/JETTY/Debugging
Điều này không giúp tôi!
http: // docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
http: // neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
Đây là để bắt đầu bên trong Eclipse

Trả lời

34

Đây là những gì chúng tôi đang bổ sung thêm vào dòng lệnh JBoss của chúng tôi trong khi phát triển:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n 

Sau đó chúng ta khởi động gỡ lỗi từ xa nhật thực và kết nối đến cổng này.


Cập nhật:

Để chạy từ jar (độc lập) thực hiện như sau

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8585,server=y,suspend=n -jar start.jar 
+2

Chỉ một nitpick nhỏ: cú pháp đó dành cho các JVM trước 1.5, những cái mới hơn sử dụng tùy chọn -agentlib: jdwp. – andri

+2

Hey David, cảm ơn câu trả lời của bạn, làm việc cho tôi. Tôi đang sử dụng lệnh bỏ hoang để bắt đầu Cầu tàu của mình: java -Xdebug -Xrunjdwp: transport = dt_socket, address = 8585, server = y, suspend = n -jar start.jar Cảm ơn! –

+0

Tôi biết, nhưng nó hoạt động ... –

18

Để gỡ lỗi từ xa, bạn nên sử dụng JPDA. Có một loại bài viết hướng dẫn về nó có sẵn here.

Nói tóm lại, hãy bắt đầu JVM của bạn với các đối số:

-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n

và bạn có thể kết nối với JVM tiềm ẩn lắng nghe trên cổng 8000 thông qua chương trình gỡ rối Eclipse chuẩn.

+3

Nếu bạn đang gỡ lỗi hoạt động máy chủ khởi động nhớ set suspend = y –

15

Nếu bạn sẽ sử dụng mvn jetty: chạy một ngày nào đó, bạn phải

export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n" 

phụ -Xdebug ... không làm việc

0

Sử dụng JVM "agentlib" tham số dòng lệnh trước khi "start.jar" không làm việc cho tôi, nhưng điều này không:

Làm thế nào để cho phép Eclipse từ xa debug #Jetty (#JPDA #agentlib: jdwp) trên cổng 8000

Bạn phải tạo một tập tin, $ JETTY_BASE/start.ini (không thay đổi $ JETTY_HOME/start.ini) và đặt sau hai dòng trong đó:

  • --exec
  • - agentlib: jdwp = transport = dt_socket, địa chỉ = localhost: 8000, server = y, suspend = n
Các vấn đề liên quan