Gejala-gejala menggambarkan dengan sempurna kasus ketika kelas yang ditemukan tidak memiliki sumber terkait (atau ditugaskan).
- Anda dapat mengaitkan sumber untuk kelas JDK di Preferensi> Java> JRE Terinstal . Jika JRE (bukan JDK) terdeteksi sebagai JRE default yang akan digunakan, maka kelas JDK Anda tidak akan memiliki sumber terlampir. Perhatikan bahwa, tidak semua kelas JDK menyediakan sumber, beberapa dari mereka didistribusikan dalam bentuk biner saja.
- Kelas dari jalur pembangunan proyek, ditambahkan secara manual mengharuskan Anda secara manual melampirkan sumber terkait. Sumber dapat berada di file zip atau jar, di ruang kerja atau di sistem file. Eclipse akan memindai zip, jadi sumber Anda tidak harus berada di root file arsip, misalnya.
- Kelas, dari dependensi yang berasal dari plugin lain (pakar, PDE, dll.). Dalam hal ini, tergantung pada plugin bagaimana sumber akan disediakan.
- PDE akan mengharuskan setiap plugin memiliki bundel sumber XXX yang sesuai , yang berisi sumber plugin. Informasi lebih lanjut dapat ditemukan di sini dan di sini .
- m2eclipse dapat mengambil sumber dan javadocs untuk dependensi Maven jika tersedia. Fitur ini harus diaktifkan preferensi m2eclipse (opsi itu bernama sesuatu seperti " Unduh sumber dan javadocs ".
- Untuk plugin lain, Anda perlu membaca dokumentasinya
- Kelas, yang diambil dari proyek Anda secara otomatis dicocokkan dengan sumber-sumber dari proyek.
Tetapi bagaimana jika Eclipse masih menyarankan Anda melampirkan sumber, bahkan jika saya menetapkan kelas dan sumbernya dengan benar:
Ini hampir selalu berarti bahwa Eclipse menemukan kelas dari tempat yang berbeda dari yang Anda harapkan. Periksa jalur pencarian sumber Anda untuk melihat di mana ia mungkin mendapatkan kelas yang salah. Perbarui jalur sesuai dengan temuan Anda.
Eclipse tidak menemukan apa pun, ketika breakpoint terkena:
Ini terjadi, ketika Anda path pencarian sumber tidak mengandung kelas, yang saat ini dimuat di runtime. Bahkan jika kelas ada di ruang kerja, itu bisa tidak terlihat dengan konfigurasi peluncuran, karena Eclipse mengikuti jalur pencarian sumber secara ketat dan hanya menempel pada dependensi proyek, yang saat ini didebug.
Pengecualian adalah bundel debugging di PDE . Dalam hal ini, karena runtime terdiri dari beberapa proyek, yang tidak harus mendeklarasikan ketergantungan satu sama lain, Eclipse akan secara otomatis menemukan kelas di ruang kerja, bahkan jika itu tidak tersedia di jalur pencarian sumber.
Saya tidak bisa melihat variabel ketika saya menekan sebuah breakpoint atau itu hanya membuka sumber, tetapi tidak memilih baris breakpoint:
Ini berarti bahwa dalam runtime, baik JVM atau kelas sendiri tidak memiliki informasi debug yang diperlukan. Setiap kelas dikompilasi, informasi debug dapat dilampirkan. Untuk mengurangi ruang penyimpanan kelas, kadang-kadang informasi ini dihilangkan, yang membuat debug kode seperti itu menyakitkan. Satu-satunya kesempatan Anda adalah mencoba dan mengkompilasi ulang dengan debug diaktifkan.
Penampil sumber Eclipse menunjukkan baris yang berbeda dari yang sebenarnya dieksekusi:
Kadang-kadang dapat menunjukkan bahwa ruang kosong dieksekusi juga. Ini berarti bahwa sumber Anda tidak cocok dengan versi runtime kelas Anda. Bahkan jika Anda berpikir bahwa ini tidak mungkin, ya, jadi pastikan Anda menyiapkan sumber yang benar. Atau runtime Anda cocok dengan perubahan terbaru Anda, tergantung pada apa yang Anda coba lakukan.