Eclipse - Tidak dapat memasang breakpoint karena atribut nomor baris tidak ada

370

Saya mendapatkan kesalahan aneh ini di Eclipse ketika mencoba mengatur breakpoint.

Unable to insert breakpoint Absent Line Number Information

Saya mencentang kotak centang dari opsi Kompiler tetapi tidak berhasil.

chandrajeet
sumber
dapatkah Anda melakukan javap -verbose pada file kelas dan menempelkan informasi di sini? Lihat apakah itu benar-benar memiliki nomor baris.
z -
3
Hai, saya melakukan javap di kelas itu. Ini menghasilkan nomor baris
chandrajeet
Anehnya, saya baru saja menemukan masalah ini dengan plugin BlackBerry, Eclipse 3.5, tidak ada hubungannya dengan Tomcat. Dan saya juga berhenti di breakpoints, kecuali untuk salah satu dari mereka ... jika saya menemukan jawaban, saya akan memposting.
Richard Le Mesurier
6
Bagi saya itu adalah mock yang salah, saya tidak sengaja mengejek kelas yang saya uji. Mungkin seseorang menemukan ini relevan.
hipokito
1
@hipokito Bisakah Anda menjelaskan apa artinya mengejek kelas dan cara membatalkannya? Solusi lain tidak bekerja untuk saya.
Amber

Jawaban:

227

Saya memiliki pesan kesalahan yang sama di Eclipse 3.4.1, SUN JVM1.6.0_07 terhubung ke Tomcat 6.0 (berjalan dalam mode debug pada mesin yang berbeda, Sun JVM1.6.0_16, koneksi debug tidak bekerja dengan benar).

Window -> Preferences -> Java -> Compiler -> Generationfile Generation: "tambahkan atribut nomor baris ke file kelas yang dihasilkan" diperiksa. Saya melakukan bersih, kompilasi ulang. Saya menghapus centangnya, mengkompilasi ulang, memeriksanya, mengkompilasi ulang. Saya memastikan proyek itu menggunakan pengaturan global. Masih pesan yang sama.

Saya beralih ke semut bangunan, menggunakan

<javac srcdir="./src/java" destdir="./bin" debug="true">

Masih, pesan yang sama.

Saya tidak tahu apa yang menyebabkan pesan ini dan mengapa pesan itu tidak pergi. Meskipun sepertinya ada hubungannya dengan sesi debug Tomcat yang sedang berjalan: ketika terputus, kompilasi memecahkan masalah. Tetapi saat menghubungkan debugger ke Tomcat atau mengatur breakpoint baru selama sesi debug yang terhubung, itu muncul lagi.

Namun, ternyata pesannya salah : Saya memang dapat men-debug dan mengatur breakpoint, baik sebelum dan selama debugging ( javap -l memang menunjukkan nomor baris, juga). Jadi abaikan saja :)

Zefiro
sumber
31
Di atas tidak bekerja untuk saya. Saya harus mengklik ikon 'Hapus semua Breakpoints' di tampilan Eclipse> Breakpoints, lalu tambahkan kembali breakpoints. Itu berhasil.
Vik David
3
Saya menutup semua proyek lain, menghapus semua breakpoint, membuat perubahan acak dalam file, membersihkan proyek, memperkenalkan break point lagi. Itu berhasil bagi saya
Ali
4
Menambahkan debug="true"ke javactugas antmembangun script bekerja.
Justin Skiles
Jawaban ini masih berlaku untuk instalasi Eclipse Kepler saya yang berjalan di windows 8 64 bit dengan Java 7.
Magnilex
1
"Ternyata pesannya salah ..." - ini seharusnya terlalu ditekankan. Bahkan setelah membaca itu, saya tidak mengerti apa yang Anda katakan. Pertimbangkan untuk memindahkan seluruh jawaban Anda ke bawah dan di bagian atas dalam kotak tebal yang besar katakan sesuatu seperti "Kemungkinan pesan ini tidak ada artinya - coba klik saja jangan-ganggu-saya-tentang-itu dan lihat apakah Anda dapat masih debug ".
Bane
105
  1. Dalam menu gerhana, pergi ke Window-> Preferences-> Java-> Compiler
  2. Hapus centang pada kotak "Tambahkan atribut nomor baris ..."
  3. Klik Terapkan -> Ya
  4. Tandai kotak centang "Tambahkan atribut nomor baris ..."
  5. Terapkan lagi.
  6. Go debugging dengan senang hati
Paolo Forgia
sumber
1
triknya tidak berhasil pada kasus saya
Yusuf Ibrahim
28

Ini memperbaiki masalah saya:

  1. Jendela -> preferensi -> server -> lingkungan runtime
  2. Apache Tomcat -> edit
  3. Pilih JDK sebagai ganti JRE
pengguna584572
sumber
3
Ini memperbaiki masalah saya (memiliki versi jdk yang salah ditentukan dalam konfigurasi sem). Itu memang memperbaiki masalah, tetapi gerhana MASIH memberi saya pesan kesalahan. Jadi pastikan untuk benar-benar melewati dan mencoba men-debug kode Anda setelah Anda melakukan perubahan ini - jangan biarkan pesan kesalahan membuat Anda pergi.
Paul
Bahkan aplikasi Anda bukan web, solusinya adalah Ok, secara Installed JREsdefault JDKbukanJRE
ahmednabil88
Saya tahu aturannya, tetapi ada banyak jawaban di sini. Yang ini, bekerja untuk saya pada November 2019 Tapi saya mengubah lingkungan Runtime utama juga, yang memecahkan masalah 100%.
Alvargon
19

Untuk masalah terkait Musim Semi pertimbangkan bahwa dalam beberapa kasus ini menghasilkan kelas "tanpa nomor baris"; misalnya @Servicekelas beranotasi tanpa antarmuka, tambahkan antarmuka dan Anda dapat men-debug. lihat di sini untuk contoh lengkap.

@Service("SkillService")
public class TestServiceWithoutInterface {
   public void doSomething() {
      System.out.println("Hello TestServiceWithoutInterface");
   }
}

Layanan di atas akan memiliki antarmuka yang dihasilkan oleh pegas yang menyebabkan "nomor baris hilang". Menambahkan antarmuka nyata menyelesaikan masalah generasi:

public interface TestService {
    void doSomething();
}

@Service("SkillService")
public class TestServiceImpl implements TestService {
   public void doSomething() {
      System.out.println("Hello TestServiceImpl");
   }
}
Paizo
sumber
1
Apa yang dimaksud dengan "tambahkan antarmuka"? Impor ke dalam file?
CamHart
1
Halo penjelasan definitif di sini github.com/spring-projects/spring-ide/issues/… dan technology.first8.nl/…
Poutrathor
14

Saya punya jawaban untuk masalah ini dari sisi BlackBerry SDK: Untuk beberapa alasan, tidak peduli berapa kali saya mengubah opsi dalam kompiler, file pengaturan yang mendasarinya sebenarnya tidak berubah.

Lihat di folder .settings proyek Anda untuk file bernama org.eclipse.jdt.core.prefs .

Di sana Anda dapat mengubah pengaturan secara manual:

org.eclipse.jdt.core.compiler.debug.lineNumber=generate

sunting: Lebih jauh dari ini, saya perhatikan bahwa kadang-kadang saya dapat mengabaikan peringatan yang diberikan Eclipse, dan itu masih akan berhenti di tempat yang diperlukan ... curioser dan curioser ... Saya memasukkan ini ke dalam ember hal-hal yang kita pelajari untuk berurusan dengan saat bekerja sebagai dev.

Richard Le Mesurier
sumber
8

Ini bekerja untuk saya:

  1. Di bawah Window --> Preferences --> Java --> Compiler --> Classfile Generation, semua opsi harus ke True.
  2. Terbuat debug="true" dalam <javac>tugas build.xml .
  3. Menyebarkan aplikasi di kucing jantan oleh perang yang dihasilkan oleh semut
  4. Mulai ulang Tomcat dalam Debugmode
Binu N Kavumkal
sumber
7

Tidak tahu apakah ini masih relevan, mungkin pelaut lain akan menemukan ini berguna.

Pesan muncul ketika seseorang memiliki file kelas yang dikompilasi bendera debug dimatikan.

Dalam gerhana, Anda dapat menyalakannya dengan opsi yang disebutkan sebelumnya,

Window -> Preferences -> Java -> Compiler -> Classfile Generation: "tambahkan atribut nomor baris ke file kelas yang dihasilkan"

Tetapi jika Anda memiliki file jar, maka Anda akan mendapatkan hasil kompilasi. Tidak ada cara mudah untuk memperbaiki masalah ini.

Jika Anda memiliki akses ke sumber dan menggunakan semut untuk mendapatkan file jar, Anda dapat memodifikasi tugas semut sebagai berikut.

  <javac  destdir="${build.destDir}" srcdir="${build.srcDir}" source="1.6" fork="true" target="${javac.target}" debug="on" debuglevel="lines,vars,source" deprecation="on" memoryInitialSize="512m" memoryMaximumSize="1024m" optimize="true"   >

Selamat men-debug ..

ref: http://doc.sumy.ua/prog/Java/javanut/ch16_04.htm

jayaram S
sumber
6

Saya mencoba hampir setiap solusi di sini dan tidak berhasil. Apakah Anda mencoba mengklik "Jangan beri tahu saya lagi"? Setelah melakukannya saya memulai kembali program saya dan semuanya baik-baik saja. Eclipse menghantam breakpoint saya seolah-olah tidak ada yang salah.

Penyebab utama bagi saya adalah Eclipse sedang mencoba men-setup debugging untuk objek proxy Spring CGLIB yang dibuat secara otomatis. Kecuali jika Anda perlu men-debug sesuatu pada tingkat itu, Anda harus mengabaikan masalahnya.

gbshuler
sumber
5

Ini akan membantu jika Anda menunjukkan versi gerhana yang Anda gunakan dan teknologinya (Java JDT, atau AJDT untuk Aspect Java, atau C ++ CDT misalnya), hanya untuk memastikan.

Di sisi Java, saya kira Anda "Centang kotak centang dari opsi Kompiler" mengacu pada ini

Di bawah " Window --> Preferences --> Java --> Compiler --> Classfile Generation", semua Class fileopsi generasi disetel ke True:

  • (1) menambahkan atribut variabel,
  • (2) nomor addline,
  • (3) tambahkan nama file sumber,
  • (4) melestarikan variabel lokal yang tidak digunakan.

Apakah proyek Anda hanya memeriksa pada tingkat global (Preferensi Windows) atau pada tingkat spesifik proyek?

Dan apakah Anda yakin kelas terbuka (di mana Anda mencoba mengatur breakpoint):

  • adalah salah satu sumber Anda (dan bukan berasal dari perpustakaan pihak ketiga)
  • Apakah .java, bukan .class?

Cobalah untuk membersihkan semuanya dan membangun kembali semua, periksa potensi konflik guci .

VONC
sumber
Hai VonC, saya di Eclpise Ganymede, Java 1.6 Ya saya memiliki pengaturan secara global. Saya mencoba untuk mengaturnya pada kode Java saya sendiri, jadi ya saya punya file .java & .class. Dan saya melakukan javap di kelas itu. Ini menghasilkan nomor baris
chandrajeet
@chandrajeet jika Anda memiliki pengaturan yang ditetapkan secara global, saya kira Anda memeriksa proyek Anda tidak menimpanya dengan pengaturan spesifik proyek? Jika tidak, satu-satunya hal yang saya lihat sekarang adalah untuk menempatkan breakpoints pada .class bukan .java ...
VonC
4

Saya punya masalah ini ketika mencoba untuk memulai Tomcat dalam mode debugging dari Eclipse. Saya memiliki file build ANT yang mengurus kompilasi dan penyebaran. Setelah mengatur flag debug ke true (seperti yang disebutkan dalam jawaban lain) dan menggunakan kembali aplikasi itu berfungsi dengan baik:

<javac srcdir="./src/java" destdir="./bin" debug="true">

CATATAN: jika Anda baru saja menambahkan bendera debug dan dikompilasi ulang, Anda masih perlu memindahkan aplikasi Anda ke server karena ini adalah tempat Eclipse melakukan debug file-file kelas. Sangat jelas tetapi mudah untuk menghabiskan satu jam atau lebih menggaruk-garuk kepala Anda dan bertanya-tanya mengapa itu tidak berhasil (percayalah).

chrisjleu
sumber
4

cobalah untuk mengubah yang jreAnda gunakan. Atur jredalam folder JDKsebagai gantinya.

fairjm
sumber
4

Karena saya memiliki 6 versi Java yang diinstal, saya harus mengubah kepatuhan JDK default saya agar sesuai dengan versi Java yang ingin saya gunakan. Eclipse secara default telah menetapkan tingkat kepatuhan kompiler ke Java 1.7 ketika semuanya dibangun / dikompilasi menggunakan Java 1.6.

Jadi yang saya lakukan adalah

  1. Dalam menu gerhana, pergi ke Window-> Preferences-> Java-> Compiler
  2. Di bawah JDK Compliance, saya mengubah tingkat kepatuhan Compiler dari 1,7 menjadi 1,6

Sekarang Eclipse tidak mengeluh tentang "Tidak dapat menyisipkan breakpoint Absen Informasi Nomor Baris" dan breakpoint debugging benar-benar berfungsi !!!

eternalminerals.com
sumber
4

Jika tidak ada yang berhasil, buka perspektif debug, kosongkan semua breakpoint yang ada dan kemudian atur kembali.

Christos
sumber
3

Ini dijelaskan secara rinci di sini:

https://github.com/spring-projects/spring-ide/issues/78

Hanya untuk referensi di masa mendatang, ini adalah bagian yang relevan dari jawaban (abaikan fakta yang merujuk pada aplikasi Boot Spring, perilaku sama untuk banyak kasus lainnya):

Setiap kali Anda mengatur breakpoint di Eclipse / STS, IDE mencoba untuk mengatur breakpoint di VM jika Anda meluncurkan aplikasi. Itulah yang terjadi dalam kasus Anda ketika Anda menjalankan aplikasi boot dalam mode debug.

Untuk setiap kelas yang dimuat ke JVM, IDE memeriksa apakah perlu mengatur breakpoint atau tidak. Jika ia memutuskan untuk menetapkan breakpoint, percobaan untuk melakukannya (menggunakan informasi dari definisi breakpoint dalam IDE, termasuk nomor barisnya, karena Anda biasanya menetapkan breakpoint baris pada file sumber pada baris tertentu).

Keputusan ini (apakah akan menetapkan breakpoint pada kelas yang dimuat atau tidak) memeriksa tipe yang Anda set breakpoint, menyertakan tipe, dan kelas dalam. Ini memastikan bahwa breakpoints untuk kelas dalam (bahkan kelas dalam anonim) diatur ke JVM (dan tidak diabaikan).

Spring Boot menghasilkan kelas dalam untuk controller Anda saat runtime (ini adalah kelas dalam yang dihasilkan CGLIB yang muncul dalam pesan kesalahan). Ketika JVM memuat kelas itu, ia mencoba untuk mengatur breakpoint nomor baris dari tipe penutup (untuk kelas dalam ini). Karena kelas dalam yang dihasilkan tidak memiliki informasi nomor baris (tidak perlu memiliki informasi nomor baris), pengaturan breakpoint gagal untuk kelas dalam ini dengan pesan kesalahan yang disebutkan.

Ketika IDE memuat tipe penutup (kelas controller Anda sendiri), ia juga mencoba untuk mengatur garis breakpoint dan berhasil dengan itu. Ini divisualisasikan dengan tanda centang pada penanda breakpoint.

Karena itu Anda dapat dengan aman mengabaikan pesan kesalahan yang muncul. Untuk menghindari pesan kesalahan ini muncul, Anda dapat pergi ke preferensi (Java -> Debug) dan menonaktifkan "Peringatkan ketika tidak dapat menginstal breakpoint karena atribut nomor baris yang hilang".

Sampisa
sumber
2

Situasi saya serupa:

  • Saya sedang debug uji JUnit
  • Saya menggunakan Mockito untuk membuat mata-mata, seperti pada spyTask = spy(new Task())
  • Saya meletakkan breakpoint di dalam kelas yang saya mata-matai (di dalam Task.java)

Breakpoint ini menghasilkan kesalahan yang dimaksud, setiap kali saya menjalankan Debug As... > JUnit Test

Untuk mengatasi masalah ini, saya memindahkan Breakpoint 'up' ke dalam tes yang sebenarnya (di dalam TaskTest.java). Setelah eksekusi berhenti, saya menambahkan breakpoint kembali ke tempat saya memilikinya, awalnya (di dalam Task.java).

Saya masih mendapatkan kesalahan yang sama tetapi setelah mengklik "ok," breakpoint bekerja dengan baik.

Semoga itu bisa membantu seseorang,

-senang

gMale
sumber
Terima kasih telah berbagi ini, saya punya masalah yang sama. Solusinya tidak bekerja untuk saya. Saya masih baru di Mockito dan saya mungkin memiliki beberapa masalah lain yang mencegah objek tiruan saya dipanggil. Tapi saya tetap menghargai Anda telah memposting @gmale ini!
Michael Osofsky
2

Saya memiliki masalah yang sama ketika saya membuat di jetty server dan mengkompilasi file .war baru oleh ANT. Anda harus membuat versi kompiler dan pembangunan jdk / jre yang sama (misalnya, jdk 1.6v33, jdk 1.7, ....) setelah Anda harus mengatur Java Compiler seperti yang ditulis sebelumnya.

Saya melakukan segalanya dan masih tidak bekerja. Solusinya adalah menghapus file .class yang dikompilasi dan target file perang yang dihasilkan dan sekarang berfungsi :)

pesoklp13
sumber
2

Mendapat pesan ini dengan Spring AOP (tampaknya berasal dari perpustakaan CGLIB). Mengklik Abaikan tampaknya berfungsi dengan baik, saya masih bisa men-debug.

Mike R
sumber
2

Saya menemukan alasan lain untuk pesan ini. Saya sedang memprogram Scala. Solusinya adalah:

  1. Buka Jalankan -> Konfigurasi debug
  2. Di tab Utama, di bagian bawah, di samping tombol "Terapkan" dan "Kembalikan", ada teks yang mengatakan Peluncur yang Anda gunakan, dan di sampingnya, ada hyperlink yang mengatakan "Pilih yang lain". Ini adalah elemen UI yang aneh, tidak terlihat dapat ditindaklanjuti pada pandangan pertama.
  3. Gunakan tautan "Pilih yang lain" dan pilih Peluncur "Aplikasi Scala (debugger baru)". Yang lain sepertinya tidak bekerja dengan Scala.

Sekarang debugging seharusnya berfungsi. Perhatikan bahwa saya telah menginstal plugin IDE Scala, opsi ini mungkin tidak tersedia jika Anda tidak memilikinya.

rumtscho
sumber
2

Hal-hal di atas tidak berhasil untuk saya. Solusi di bawah akhirnya berhasil. Konfigurasi Debug -> Classpath -> Entri Pengguna -> (Tambahkan folder src dari proyek yang ingin Anda debug.)

Amruta
sumber
1

Saya memiliki masalah yang sama ketika men-debug PERANG (dibangun dari beberapa artefak proyek Eclipse) yang digunakan untuk Tomcat.

Saya membangun semuanya menggunakan skrip build ANT. Jika ini yang Anda lakukan, pastikan bahwa flag debug = true diset pada setiap tugas semut yang Anda punya. Ini adalah satu-satunya masalah saya - saya harap ini membantu masalah Anda!

ubermensch
sumber
1

Saya memiliki kesalahan yang sama dengan JBoss 7.1 .. Dan saya melakukan hal yang sama seperti Zefiro. Abaikan saja kesalahannya dan saya dapat menempatkan breakpoints secara normal. Dalam kasus saya, saya sedang membangun builder semut pemikiran dan ini adalah tugas javac saya:

<javac
        srcdir="${src.dir}"
        destdir="${build.classes.dir}" 
        includeantruntime="false" 
        debug="${debug}"
        verbose="false"
        debuglevel="lines,vars,source"
        source="1.6"
        target="1.6">

        <!-- Sppressing warning for setting an older source without bootclasspath
             (see: https://blogs.oracle.com/darcy/entry/bootclasspath_older_source) -->
        <compilerarg value="-Xlint:-options"/>

        <classpath>
            <fileset dir="${lib.dir}" includes="*.jar" />
            <fileset dir="${jboss.lib.dir}" includes="**/*.jar" />
        </classpath>

    </javac>
Garrafote
sumber
1

Saya mendapat masalah yang sama, saya menghabiskan banyak waktu untuk mencari solusi tetapi solusi ini tidak berguna, Jadi saya mempelajari sendiri semua kasus, akhirnya saya menemukan masalah itu adalah konflik di antara versi JDK. Di bawah ini adalah langkah-langkah untuk menyelesaikan masalah: 1. Hapus semua versi JDK dan JRE, simpan hanya satu versi. 2. Atur sistem JAVA_HOME dan kompiler java di Eclipse adalah sama. Dalam beberapa kasus, kesalahan di atas tidak akan hilang, tetapi kami dapat berjalan pada model debug.

Tommy Teo
sumber
1

Setelah saya mengalami kesalahan yang sama ketika saya menggunakan junit dan Mockito, saya lupa menambahkan @PrepareForTest untuk kelas statis.

Tambahkan kode di bawah ini untuk memperbaiki masalah saya.

@PrepareForTest({XXXXX.class})

Tidak yakin itu kasus yang sama.

Jonathan
sumber
1

Masalah saya adalah saya punya 2 JAR dan saya mencoba untuk menimpa satu dengan yang lain berdasarkan urutannya di Java Build Path => Order & Export tab di Eclipse, karena satu untuk debugging dan yang lainnya tidak (debugging JAR menjadi yang pertama dalam urutan). Ketika saya melakukannya dengan cara ini, saya harus melampirkan sumber secara manual.

Saya mencoba menghapus JAR non-debug dan menempatkan JAR debug di direktori \ WEB-INF \ lib \, membersihkan, membuat, dll., Dan berhasil. Kali ini (setelah menghapus sumber terlampir), secara otomatis akan membiarkan saya menavigasi kode debug, tanpa harus melampirkan sumber apa pun secara manual. Breakpoints dan debug juga berhasil.


Jika ada yang masih mengalami masalah, saya juga mencoba semua solusi khusus yang disebutkan dalam jawaban lain:

  • Hapus centang, terapkan, dan periksa kembali Add line number attributes...
  • Mengedit secara manual org.eclipse.jdt.core.prefssebagaimana disebutkan dalam jawaban lain: https://stackoverflow.com/a/31588700/1599699
  • Memastikan JAR dibuat dengan debug diaktifkan.
  • Mengubah tingkat kepatuhan JDK dari 1,6 menjadi 1,7 (dengan demikian cocok dengan JDK yang saya gunakan).

Saya juga melakukan yang biasa mematikan server (dan memastikan java.exe benar-benar ditutup ...), menghapus direktori \ build \ di kedua proyek, memulai kembali Eclipse dengan parameter -clean, membuat ulang JAR debug, menyegarkan, membersihkan, dan membangun proyek dengan JAR debug di dalamnya, mulai server dalam mode debug, penerbitan / pembersihan, dan breakpointing.

Andrew
sumber
0

Saya melakukan semua yang tercantum di atas saat mengkompilasi / membangun stoples - masih memiliki masalah yang sama.

Akhirnya, perubahan jvmarg tercantum di bawah saat memulai server adalah yang akhirnya berhasil bagi saya:

1) Dihapus / Berkomentar sekelompok jvm args yang berkaitan dengan javaagent dan bootclasspath.

2) Menghidupkan / membatalkan komentar pada baris berikut:

Kemudian ketika saya memulai server, saya dapat mencapai breakpoints saya. Saya menduga bahwa javaagent itu entah bagaimana mengganggu kemampuan Eclipse untuk mendeteksi nomor baris.

kuda gila
sumber
0

Periksa / lakukan yang berikut ini:

1) Di bawah "Window -> Preferences -> Java -> Compiler -> Classfile Generation", semua opsi harus True:

(1) Add variable attributes...
(2) Add line number attributes...
(3) Add source file name...
(4) Preserve unused (never read) local variables

2) Dalam folder .settings proyek Anda, cari file bernama org.eclipse.jdt.core.prefs. Verifikasi atau setel org.eclipse.jdt.core.compiler.debug.lineNumber = hasilkan

3) Jika jendela kesalahan masih muncul, klik kotak centang untuk tidak menampilkan pesan kesalahan.

4) Bersihkan dan bangun proyek. Mulai debugging.

Biasanya jendela kesalahan tidak ditampilkan lagi dan informasi debugging ditampilkan dengan benar.

Ivan Bürcher
sumber
0

Saya mengalami masalah ini juga. Saya menggunakan skrip pembuatan semut. Saya sedang mengerjakan aplikasi warisan jadi saya menggunakan versi jdk 1.4.2. Ini digunakan untuk bekerja jadi saya mulai mencari-cari. Saya perhatikan bahwa di bawah konfigurasi Debug pada tab JRE versi Java telah diatur ke 1.7. Setelah saya mengubahnya kembali ke 1.4 berhasil.

Saya harap ini membantu.

Greg
sumber
0

Saya mencoba untuk men-debug manajer logging dan perlu mengubah jre ke jdk dan kemudian untuk memilih jdk ini di tab "utama", "Java Runtime Environment" | "runtime JRE" dari konfigurasi debug maka semuanya baik-baik saja.

Matt Jordan
sumber
0

Saya melihat masalah ini ketika saya menjelaskan kelas dengan @ManagedBean (javax.annotation.ManagedBean). Pesan peringatan muncul ketika menjalankan aplikasi yang baru dipatuhi di JBoss EAP 6.2.0. Mengabaikannya dan tetap berlari tidak membantu - breakpoint tidak pernah tercapai.

Saya memanggil kacang itu menggunakan EL di halaman JSF. Sekarang ... mungkin saja @ManagedBean tidak baik untuk itu (saya baru menggunakan CDI). Ketika saya mengubah anotasi ke @Model, kacang saya dieksekusi tetapi peringatan breakpoint juga hilang dan saya mencapai breakpoint seperti yang diharapkan.

Singkatnya, sepertinya penjelasan @ManagedBean mengacaukan nomor baris, terlepas dari apakah itu adalah anotasi yang salah untuk digunakan.

PMorganCA
sumber
0

Pastikan proyek di mana kelas utama runtime adalah, adalah proyek yang sama di mana kelas Anda memiliki breakpoints . Jika tidak, pastikan kedua proyek berada di classpath dari konfigurasi yang dijalankan, dan muncul sebelum folder guci dan kelas.

Eugene Marin
sumber