2009-07-23 30 views
9

Gần đây, hai khách hàng của chúng tôi đã báo cáo sự cố với các ứng dụng của chúng tôi. Nhìn vào giao diện điều khiển plugin java, nó có đầy đủ ClassNotFoundException nên không có mã nào của chúng tôi được thực hiện.Làm thế nào để gỡ lỗi/log/theo dõi một vấn đề tải applet?

Tôi đã có thể tạo lại dấu vết ngăn xếp bằng cách sử dụng hình ảnh máy ảo với 0 dung lượng trống trên đĩa, nhưng vấn đề sẽ biến mất khi tôi khôi phục một số dung lượng đĩa và người dùng cho tôi biết rằng đĩa của họ chưa đầy; họ có thể tạo tệp mới.

Ứng dụng của chúng tôi yêu cầu java 6 và sự cố đã xuất hiện với các bản cập nhật 1, 10 và 14 của jre. Chúng tôi cũng đã thử các trình duyệt khác nhau (IE và Firefox), xóa trình duyệt và bộ đệm java, ...

Làm cách nào để gỡ lỗi hoặc theo dõi jvm đang làm gì để tải applet của chúng tôi?

Tôi cho rằng vấn đề nằm trên một số chỉ thị bảo mật trên cửa sổ nên tôi đang sử dụng Trình giám sát quy trình của Sysinternal để ghi lại hoạt động nhưng tôi thực sự không biết phải nhìn vào đâu.

Trả lời

0

Tôi đã xem nguồn plugin từ JDK và tôi thấy rằng có thêm thông tin gỡ lỗi có sẵn trong cài đặt nhật ký biến môi trường JPI_PLUGIN2_DEBUG. Rất tiếc, tôi vẫn chỉ thấy ClassNotFound ngoại lệ.

Tôi đã tìm thấy một mảnh của mã plugin mà nuốt tất cả các trường hợp ngoại lệ, như vậy có lẽ vấn đề người dùng của tôi là có ...

6

Bộ nhớ cache Java có nhiều khả năng gây rối. Mở Java trong Bảng điều khiển và loại bỏ tất cả các tệp tạm thời để xem nó có biến mất hay không.

Việc ghi nhật ký trong Bảng điều khiển Java để tải các applet có thể được bật, điều này sẽ giúp khá nhiều (ngay cả khi plugin cực kỳ khó hiểu). Xem http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/tracing_logging.html

+0

Cảm ơn! Tôi quên bật truy tìm trên môi trường kiểm tra đĩa đầy đủ của tôi. Bây giờ tôi đã thử nó, nhưng nó chỉ hiển thị một 'java.io.IOException: Write error'. Không có chi tiết về những gì con đường đã cố gắng để viết hoặc nguyên nhân của lỗi, vì vậy tôi nghĩ rằng nó sẽ không cung cấp đủ thông tin nếu chúng tôi cho phép truy tìm trên máy tính của khách hàng. Đây có phải là lần truy tìm tối đa chúng ta có thể nhận được từ JVM không? – Serxipc

+0

Làm sạch bộ nhớ cache java có giúp người dùng của bạn không? –

+0

No. Chúng tôi đã thử làm sạch bộ nhớ cache java từ bảng điều khiển java và xóa tất cả các tệp jar_cache * .tmp khỏi thư mục tạm thời.Tôi cho rằng đó là một số cửa sổ hoặc chỉ thị bảo mật mạng nhưng tôi không biết nơi để tiếp tục, vì vậy tôi đang cố gắng để có được một bản ghi chi tiết về những gì đang xảy ra. – Serxipc

0

có vấn đề tương tự trong một thời gian trước đây. Trong trường hợp của chúng tôi, vấn đề có vẻ là cách thẻ applet được thiết lập trên trang web. Nếu thứ tự sai hoặc chứa thuộc tính codebase, nó không thành công với 6u10 +. Điều này phù hợp với chúng tôi:

<applet name="DMGANTT" archive="DMGantt.zip" code="dm.applet.DMGanttApplet" 
width='100%' height='100%' mayscript="mayscript"> 
+0

Tôi đang sử dụng tập lệnh deployJava.js để viết các thẻ applet và chúng tôi không thêm thuộc tính codebase. Các thuộc tính có thể sai thứ tự như thế nào? Bạn có một ví dụ thất bại vì lệnh worng? – Serxipc

+0

Có, nếu tôi thay đổi thứ tự mã và lưu trữ, bằng cách nào đó 6u10 tìm kiếm DMGanttApplet trên máy chủ và không có trong kho lưu trữ được cung cấp. Các lớp nào bị thiếu - dấu vết ngăn xếp của lỗi của bạn là gì? – akarnokd

+0

Tôi đã thử đề xuất của bạn với thứ tự thuộc tính nhưng sự cố vẫn tiếp diễn. Lớp không tìm thấy trong ngăn xếp dấu vết là lớp được chỉ định trong thuộc tính mã, do đó không có gì được thực thi. Tôi có thể nhìn thấy trong nhật ký máy chủ rằng bình chứa các lớp được yêu cầu. Trong thực tế, lọ được yêu cầu nhiều lần như applet có trong trang, nhưng khi xem trang từ một máy tính hoạt động nó chỉ được yêu cầu một lần. – Serxipc

0

Chúng tôi gặp sự cố tương tự với một trong những khách hàng của chúng tôi. Chúng tôi phát hiện ra rằng đó là một lỗi lạ trong một số phiên bản Java liên quan đến cấu hình proxy trên máy khách. Xem bài viết này cho các chi tiết

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6723715

Ngoài ra, Applet của chúng tôi đã thất bại với các phiên bản mới vì một lý do khác nhau.

Bây giờ, trong các trường hợp tương tự, tôi yêu cầu họ kiểm tra javatester.org, để tôi có thể xem các applet (nói chung) có tải OK trong trình duyệt của họ hay không. Nếu trang đó tải OK, đó là một vấn đề trên applet của chúng tôi (hoặc trang). Khác đó là một vấn đề trong cấu hình của họ. Tôi giúp họ dù sao, nhưng nó dễ dàng hơn để gỡ lỗi.

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