398 Stimmen

Eclipse - Haltepunkt kann wegen fehlender Zeilennummernattribute nicht installiert werden

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.

2voto

Mike R Punkte 4188

Ich habe diese Meldung mit Spring AOP (scheint von der CGLIB-Bibliothek zu kommen). Klicken Sie auf Ignorieren scheint gut zu funktionieren, ich kann noch debuggen.

2voto

pesoklp13 Punkte 340

Ich hatte dasselbe Problem, als ich auf dem Jetty-Server eine neue .war-Datei mit ANT kompilierte. Sie sollten die gleiche Version von jdk/jre Compiler und Build-Pfad (z. B. jdk 1.6v33, jdk 1.7, ....), nachdem Sie Java Compiler, wie zuvor geschrieben wurde eingestellt haben.

Ich habe alles getan und es funktioniert immer noch nicht. Die Lösung war, die kompilierten .class-Dateien und das Ziel der generierten War-Datei zu löschen und jetzt funktioniert es:)

2voto

gMale Punkte 15281

Meine Situation war ähnlich:

  • Ich habe einen JUnit-Test debuggt
  • Ich habe Mockito verwendet, um einen Spion zu erstellen, wie in spyTask = spy(new Task())
  • Ich habe den Haltepunkt innerhalb der Klasse gesetzt, die ich ausspioniert habe (innerhalb von Task.java )

Dieser Haltepunkt erzeugt den fraglichen Fehler, jedes Mal, wenn ich Debug As... > JUnit Test

Um das Problem zu beheben, habe ich den Haltepunkt nach oben in den eigentlichen Test (in TaskTest.java) verschoben. Sobald die Ausführung gestoppt wurde, fügte ich den Haltepunkt wieder dort ein, wo ich ihn ursprünglich hatte (in Task.java).

Ich bekam immer noch den gleichen Fehler, aber nachdem ich auf "ok" geklickt hatte, funktionierte der Haltepunkt einwandfrei.

Ich hoffe, das hilft jemandem,

-männlich

1voto

Andrew Punkte 4502

Das Problem war, dass ich 2 JARs hatte und versuchte, eine mit der anderen zu überschreiben, basierend auf ihrer Reihenfolge in der Java Build Path => Order & Export in Eclipse, da eine für die Fehlersuche bestimmt war und die andere nicht (das JAR für die Fehlersuche steht in der Reihenfolge an erster Stelle). Wenn ich es auf diese Weise tat, musste ich manuell eine Quelle anhängen.

Ich habe versucht, das Nicht-Debug-JAR zu entfernen und das Debug-JAR in meinem \WEB -INF \lib\ Verzeichnis, Reinigung, Aufbau usw., und es hat funktioniert. Dieses Mal (nachdem ich den angehängten Quellcode entfernt hatte), konnte ich automatisch durch den Debug-Code navigieren, ohne den Quellcode manuell anhängen zu müssen. Haltepunkte und Fehlersuche funktionierten ebenfalls.


Für den Fall, dass jemand immer noch Probleme hat, habe ich auch alle in den anderen Antworten erwähnten Lösungen ausprobiert:

  • Abhaken, anwenden und erneut abhaken Add line number attributes...
  • Manuelles Bearbeiten org.eclipse.jdt.core.prefs wie in einer anderen Antwort erwähnt: https://stackoverflow.com/a/31588700/1599699
  • Sicherstellen, dass das JAR mit aktiviertem Debugging generiert wurde.
  • Änderung der JDK-Konformitätsstufe von 1.6 auf 1.7 (und damit Anpassung an das von mir verwendete JDK).

Ich habe auch das übliche Herunterfahren des Servers durchgeführt (und sichergestellt, dass java.exe tatsächlich geschlossen ist...), das Löschen der \build\ Verzeichnisse in beiden Projekten, Neustart von Eclipse mit dem Parameter -clean, Neuerstellung des Debug-JAR, Aktualisieren, Bereinigen und Erstellen des Projekts mit dem Debug-JAR darin, Starten des Servers im Debug-Modus, Veröffentlichen/Bereinigen und Setzen von Haltepunkten.

1voto

Shrirang Kumbhar Punkte 345

Ich hatte das gleiche Problem in meiner Eclipse-IDE. Ich habe alle Antworten auf diese Frage gelesen und fast alle genannten Einstellungen ausprobiert, aber kein Glück.

Also habe ich versucht, die Runtime Lib des Projekts zu ändern, vorher war es JRE - Java SE 1.8 Default runtime

Ich habe versucht, die JRE in JDK zu ändern, und es funktionierte bei mir:

JDK selected

Nachfolgend finden Sie die Schritte zum Wechsel von JRE zu JDK :

  • Rechtsklick auf das Projekt

  • Klicken Sie auf Eigenschaften -> Java Build Path

  • Registerkarte "Bibliotheken" auswählen

  • Klicken Sie auf die Schaltfläche "Bibliothek hinzufügen". Das Fenster "Bibliothek hinzufügen" wird geöffnet

  • Wählen Sie "JRE System Library" -> Klicken Sie auf die Schaltfläche Next

  • Wählen Sie "Alternate JRE".

  • Klicken Sie auf die Schaltfläche Installed JRE

  • Im neuen Fenster klicken Sie auf "Hinzufügen". Daraufhin öffnet sich ein weiteres Fenster "JRE hinzufügen".

  • Wählen Sie "Standard-VM". Klicken Sie auf Weiter.

  • Klicken Sie auf die Schaltfläche Verzeichnis.

  • Wählen Sie den Pfad Ihres "JDK"-Installationsverzeichnisses und klicken Sie auf OK. Klicken Sie dann auf Fertigstellen.

  • Überprüfen Sie nun das neu hinzugefügte "JDK". Select on JDK

  • Löschen Sie alle anderen installierten JREs aus der Liste (optional)

  • Anwenden-> OK

  • Wählen Sie "JDK aus dem alternativen JRE-Dropdown und klicken Sie auf "Fertig stellen". Alternate JRE

  • Entfernen Sie nun aus der unten abgebildeten Liste die JRE-Instanz Remove unwanted JRE

  • Klicken Sie auf Übernehmen -> OK

Und Sie sind fertig!!

CodeJaeger.com

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.

Powered by:

X