Các triệu chứng mô tả hoàn hảo trường hợp khi lớp tìm thấy không có nguồn liên kết (hoặc được chỉ định).
- Bạn có thể liên kết các nguồn cho các lớp JDK trong Tùy chọn> Java> JRE đã cài đặt . Nếu JRE (không phải JDK) được phát hiện là JRE mặc định sẽ được sử dụng, thì các lớp JDK của bạn sẽ không có nguồn đính kèm. Lưu ý rằng, không phải tất cả các lớp JDK đã cung cấp nguồn, một số trong số chúng chỉ được phân phối ở dạng nhị phân.
- Các lớp từ đường dẫn xây dựng của dự án, được thêm thủ công yêu cầu bạn đính kèm nguồn liên kết theo cách thủ công. Nguồn có thể nằm trong tệp zip hoặc tệp jar, trong không gian làm việc hoặc trong hệ thống tệp. Eclipse sẽ quét zip, vì vậy các nguồn của bạn không nhất thiết phải nằm trong thư mục gốc của tệp lưu trữ.
- Các lớp, từ các phụ thuộc đến từ các plugin khác (maven, PDE, v.v.). Trong trường hợp này, tùy thuộc vào cách thức nguồn sẽ được cung cấp.
- PDE sẽ yêu cầu mỗi plugin có gói XXX.source tương ứng , chứa nguồn của plugin. Thêm thông tin có thể được tìm thấy ở đây và ở đây .
- m2eclipse có thể tìm nạp các nguồn và javadocs cho các phụ thuộc Maven nếu chúng có sẵn. Tính năng này phải được bật tùy chọn m2eclipse (tùy chọn được đặt tên giống như " Tải xuống nguồn và javadocs ".
- Đối với các plugin khác, bạn sẽ cần tham khảo tài liệu của họ
- Các lớp được tải từ dự án của bạn sẽ tự động khớp với các nguồn từ dự án.
Nhưng điều gì xảy ra nếu Eclipse vẫn đề nghị bạn đính kèm nguồn, ngay cả khi tôi đặt chính xác các lớp của mình và các nguồn của chúng:
Điều này hầu như luôn có nghĩa là Eclipse đang tìm lớp từ nơi khác so với bạn mong đợi. Kiểm tra đường dẫn tra cứu nguồn của bạn để xem nó có thể lấy lớp sai ở đâu. Cập nhật đường dẫn phù hợp với những phát hiện của bạn.
Eclipse không tìm thấy gì cả, khi điểm dừng được nhấn:
Điều này xảy ra, khi bạn là đường dẫn tra cứu nguồn không chứa lớp, hiện đang được tải trong thời gian chạy. Ngay cả khi lớp nằm trong không gian làm việc, nó có thể ẩn với cấu hình khởi chạy, bởi vì Eclipse tuân theo nghiêm ngặt đường dẫn tra cứu nguồn và chỉ đính kèm các phụ thuộc của dự án, hiện đang được gỡ lỗi.
Một ngoại lệ là các gói gỡ lỗi trong PDE . Trong trường hợp này, do thời gian chạy được tạo từ nhiều dự án, không phải khai báo các phụ thuộc lẫn nhau, Eclipse sẽ tự động tìm lớp trong không gian làm việc, ngay cả khi nó không có sẵn trong đường dẫn tra cứu nguồn.
Tôi không thể thấy các biến khi tôi chạm vào điểm dừng hoặc nó chỉ mở nguồn, nhưng không chọn dòng điểm dừng:
Điều này có nghĩa là trong thời gian chạy, chính JVM hoặc các lớp không có thông tin gỡ lỗi cần thiết. Mỗi khi các lớp được biên dịch, thông tin gỡ lỗi có thể được đính kèm. Để giảm dung lượng lưu trữ của các lớp, đôi khi thông tin này bị bỏ qua, điều này làm cho việc gỡ lỗi mã như vậy trở nên khó khăn. Cơ hội duy nhất của bạn là thử và biên dịch lại với tính năng gỡ lỗi được kích hoạt.
Trình xem nguồn Eclipse hiển thị các dòng khác với các dòng thực sự được thực thi:
Đôi khi nó có thể chỉ ra rằng không gian trống cũng được thực thi. Điều này có nghĩa là các nguồn của bạn không khớp với phiên bản thời gian chạy của các lớp. Ngay cả khi bạn nghĩ rằng điều này là không thể, thì đó là, vì vậy hãy chắc chắn rằng bạn thiết lập các nguồn chính xác. Hoặc thời gian chạy của bạn phù hợp với những thay đổi mới nhất của bạn, tùy thuộc vào những gì bạn đang cố gắng làm.