2009-11-03 49 views
8

Tôi đang gỡ lỗi ứng dụng jnlp và tôi đã sử dụng để có thể gỡ lỗi từ xa qua nhật thực, nhưng không còn nữa.gỡ lỗi từ xa một ứng dụng jnlp với eclipse

lệnh để bắt đầu đó là:

/usr/java/jdk1.6.0_14/jre/bin/java -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1445 -Djnlpx.heapsize=64m,512m -DtrustProxy=true -Xverify:remote -Djava.security.policy=/lib/security/javaws.policy -Dfile.encoding=UTF-8 -Xbootclasspath/a:/usr/java/jdk1.6.0_14/jre/lib/deploy.jar:/usr/java/jdk1.6.0_14/jre/lib/javaws.jar:/usr/java/jdk1.6.0_14/jre/lib/plugin.jar -classpath /usr/java/jdk1.6.0_14/jre/lib/deploy.jar com.sun.javaws.Main launch.jnlp 
Listening for transport dt_socket at address: 1445 

và vấn đề là khi tôi gắn debugger nhật thực, nó tắt và khởi động lại; do đó trình gỡ rối gắn với quá trình đầu tiên; và khi nó chết thì trình gỡ lỗi cũng vậy.

tập lệnh trình gỡ lỗi thực sự không quan trọng; khi quá trình jnlp tự khởi động lại trước khi trình gỡ lỗi được khởi chạy nếu đình chỉ = n.

Tôi đã thử truy tìm nó, nhưng tùy chọn -XX: TraceSupport = true (và các biến thể khác mà tôi đã thử) gây ra lỗi jvm.

Tôi đang sử dụng fedora 11, Eclipse Java EE IDE dành cho nhà phát triển web. (Xây dựng id: 20090621-0832)

Tôi hỏi liệu có ai biết cách sửa lỗi này hay ít nhất cách bật ghi nhật ký tốt hơn (tức là, nắm bắt tất cả đầu ra bàn điều khiển vào nhật ký; xem giao diện điều khiển đầu tiên nhấp nháy trên màn hình của tôi trong một phần nghìn giây)

cảm ơn!

Trả lời

4

Boss My tìm thấy câu trả lời:

Dường như “<property>” thẻ trong file jnlp là hạn chế hơn với JRE mới hơn. Theo Sun documentation:

“Đối với một ứng dụng không tin cậy, hệ thống thuộc tính thiết lập trong file JNLP sẽ chỉ được thiết lập bởi Java Web Start nếu họ được coi là an toàn, hoặc nếu tên bất động sản bắt đầu với "jnlp . " hoặc "javaws.".”

Dường như tình trạng không tin cậy làm cho ứng dụng để khởi động một thời gian thứ hai với chiếm đoạt tài sản.

sau khi biên dịch lại và khắc phục vấn đề không liên quan trong trường hợp dòng mới gây ra APPLICATION.JNLP và khởi chạy.jnlp dường như không giống nhau, trình gỡ lỗi hiện đang hoạt động.

+1

Tuyệt vời! Nhận xét của bạn đã giúp tôi tìm ra vấn đề của riêng tôi. Dường như JNLP được tải xuống hoặc phân tích cú pháp hai lần, tùy thuộc vào trạng thái không đáng tin cậy. Lần thứ hai, các tham số được sử dụng là các tham số được đặt trong liên kết . Vì vậy, tôi cần phải thêm tất cả các tham số yêu cầu của tôi trong HREF, và cuối cùng nó hoạt động. Cảm ơn. – Kloe2378231

4

blog post có các biến môi trường mà bạn có thể đặt để gỡ lỗi jnlp. Điều này luôn làm việc cho tôi.

set JAVAWS_TRACE_NATIVE=1 

    set JAVAWS_VM_ARGS=-Xdebug -Xnoagent -Djava.compiler=NONE 
      -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=y 
    javaws http://server:port/descriptor.jnlp 
+0

Tôi thấy rằng một trong số đó đã và đã thử một số cờ; Tôi sẽ tiếp tục và cho mọi người biết kết quả; sáng nay tôi đã tìm thấy bài đăng này (http://forums.sun.com/thread.jspa?threadID=569693) và tôi sẽ tiếp tục cắm. –

+0

Tôi cũng chỉ tìm thấy bài đăng này: http://stackoverflow.com/questions/686061/how-can-i-debug-applications-under-java-web-start-jnlp –

Các vấn đề liên quan