Ich erhalte diesen seltsamen Fehler in Eclipse, wenn ich versuche, einen Haltepunkt zu setzen.
Unable to insert breakpoint Absent Line Number Information
Ich habe das Kontrollkästchen in den Compiler-Optionen aktiviert, aber ohne Erfolg.
Ich erhalte diesen seltsamen Fehler in Eclipse, wenn ich versuche, einen Haltepunkt zu setzen.
Unable to insert breakpoint Absent Line Number Information
Ich habe das Kontrollkästchen in den Compiler-Optionen aktiviert, aber ohne Erfolg.
Ich hatte ein ähnliches Problem auf Spring MVC + Maven Projekt; und verbrachte 2 Stunden versuchen, herauszufinden, warum Zielordner nicht mit Klassen mit Informationen über Zeilen aktualisiert werden.
Ich schlage vor, dass Sie alles bereinigen und sicherstellen, dass alle Klassen aus dem Ordner gelöscht werden, bevor Sie mit einem Build fortfahren.
Im Zweifelsfall - ob kompilierte .class-Dateien Zeilennummern enthalten oder nicht - öffnen Sie die .class-Dateien in Eclipse. Eclipse wird die Dateien dekompilieren und Ihnen mitteilen, ob Zeilennummern vorhanden sind oder nicht.
Wenn jemand versucht, den Java-Quellcode zu debuggen, dann ist dies die einzige Lösung, die bei mir funktioniert hat. Die meisten der oben genannten Antworten sprechen über die Einstellung der Compiler-Option, um Zeilennummern zu generieren, aber wenn Sie Java-Quellcode debuggen möchten (z. B. java.util.HashMap), dann funktionieren die oben genannten Optionen möglicherweise nicht für Sie. Das liegt daran, dass das Projekt, in dem Sie den Quellcode debuggen wollen, die Option Java Build Path --> Library --> JRE System Library
die auf den jre
jar anstelle des jdk
jar. Die darin gebündelten Klassen jre
jar bereits mit einer bestimmten Option vorkompiliert wurden, werden die Einstellungen der Compileroption nicht berücksichtigt. Die Lösung besteht darin, Ihr Projekt neu zu konfigurieren, um die JRE System Library
weisen auf die jdk
Krug. Die Klassen in Ihrem jdk
jar wird die Einstellungen der Compiler-Optionen berücksichtigen. Sobald Sie also Ihr Projekt aktualisieren, werden die JRE System Library
um auf den jdk
jar, wird das Debuggen von Java-Quellcode funktionieren.
Ich habe alles getan, was oben aufgeführt ist, während ich die Jars kompiliert/gebaut habe - und hatte immer noch das gleiche Problem.
Letztendlich haben die unten aufgeführten jvmarg-Änderungen beim Starten des Servers bei mir funktioniert:
<!-- jvmarg value="${agentfile}" /-->
<!-- jvmarg value="-javaagent:./lib/foobar /-->
<!-- jvmarg value="-Xbootclasspath/a:/foo /-->
<jvmarg value="-Xdebug" />
Wenn ich dann den Server starte, kann ich meine Haltepunkte erreichen. Ich vermute, dass der Javaagent irgendwie die Fähigkeit von Eclipse, Zeilennummern zu erkennen, beeinträchtigt hat.
Wie behebt man einen Haltepunktfehler beim Debuggen in Eclipse? Ersetzen Sie nur die vorhandenen Zeilen durch diese.
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
Wir haben bereits sehr nützliche Informationen, um dieses Problem zu lösen, aber in meinem speziellen Fall bestand das Problem darin, dass, als ich mein Projekt aus dem Repository aktualisierte, neue Klassen mit dem kompilierten Quellcode aus dem neuesten Code erzeugt wurden. Das Problem ist, dass ich vergessen habe, die Versionen der Projekte in meinen POM-Dateien zu ändern, und da die Haltepunkte auf den neuen Code gesetzt wurden und die POM-Dateien immer noch auf alte Versionen verwiesen, die in den JAR-Dateien einer früheren Kompilierung vorhanden waren, wurden die Klassen aus den JAR-Dateien ausgewählt und nicht die Klassen aus dem neuen Code.
Um dieses Problem zu lösen, musste ich lediglich die Versionen in der POM-Datei des Hauptprojekts aktualisieren, den Quellcode bereinigen und neu kompilieren und schließlich die Umgebung aktualisieren. Ich hoffe, dass dies für jemand anderen nützlich sein kann.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.