2010-02-16 31 views
16

Tôi đang chạy Eclipse cho Java. Tôi đã tạo một phiên bản DOM của một tệp XML. Bây giờ tôi muốn thay đổi một thuộc tính của một phần tử trong tệp. Tôi gọi một phương thức gọi là phương thức trong lớp điều khiển DOM và tôi nhận được một hộp thoại nói rằng "Đánh giá chủ đề JDI đã gặp sự cố. Ngoại lệ xử lý hàng đợi chuỗi không đồng bộ" trong khi gỡ lỗi.Đánh giá chủ đề JDI đã gặp phải sự cố

Tôi là một người mới tương đối ở Java và đã không gặp lỗi như vậy và tôi không biết nguyên nhân gây ra lỗi đó.

Nếu có bất kỳ đề xuất nào về nguyên nhân của sự cố và/hoặc cách khắc phục sự cố ...

Cảm ơn rất nhiều!

Trả lời

6

Giao diện gỡ lỗi Java (JDI) là một phần của Java Platform Debugger Architecture. Một cách rõ ràng để kích hoạt ngoại lệ này xảy ra khi phương thức toString() của đối tượng bất cẩn trả về null. Có một cuộc thảo luận thú vị here. Bạn có thể muốn thử một trình gỡ lỗi khác, và nó sẽ không làm tổn thương để xác nhận hợp lệ XML của bạn.

+0

thú vị đủ, lần sau tôi cố gắng chạy/gỡ lỗi chương trình, tôi không gặp bất kỳ sự cố nào. – chama

+1

Thật vậy, một số cuộc thảo luận đã đề cập đến những thất bại liên tục. Điều này luôn làm cho tôi nghĩ về các vấn đề đồng bộ hóa luồng: một khởi tạo trì hoãn, ví dụ, có thể xuất hiện 'null' thành một luồng nhưng không phải là một chuỗi khác. – trashgod

54

Theo dõi các biểu thức "Xem" của bạn - nếu bạn không cần chúng, hãy xóa tất cả. Đôi khi một số biểu thức xem nhất định đã gây ra thông báo lỗi này cho tôi.

này cũng có thể giải thích tại sao nó xảy ra liên tục cho người dân (đôi khi họ có nhiệm vụ theo dõi mà gây ra lỗi, tuy nhiên khởi động lại hoặc tháo chiếc đồng hồ thích hợp có thể giải quyết vấn đề mà không có họ biết.)

+1

Mẹo của bạn đã cứu tôi rất nhiều thời gian. Cảm ơn rất nhiều. –

+2

Rất vui được giúp đỡ - điều đó khiến tôi phát điên quá – Anthony

+1

Đây là câu trả lời đúng! – mattboy

1

Vấn đề có thể cũng xảy ra nếu tra cứu nguồn được định cấu hình không chính xác. Ví dụ: giả sử người ta muốn xem biểu thức foo.bar(). Bây giờ nếu tra cứu nguồn được cấu hình không chính xác, trình gỡ rối không thể giải quyết ràng buộc cho biểu thức foo (xem this eclipse bug). Sau đó, yêu cầu của .bar() sẽ thất bại với một NullPointerException.

4

Lỗi này xảy ra một vài lần khi bạn gỡ lỗi. Bạn có thể làm sạch điều này bằng cách xóa tất cả các câu lệnh xem và tất cả các điểm ngắt và khởi động lại Eclipse.

0

Sự cố này có thể xảy ra nếu bạn có "Chi tiết định dạng" được định cấu hình cho các lớp cụ thể (trong Eclipse: Java -> Debug -> Detail Formatters). Hãy thử vô hiệu hóa chúng.

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