Ich habe ein kleines Projekt, das beim Ausführen im Eclipse-Debugger immer in der Zeile 106 von FileInputStream.class anzuhalten scheint, in der Dateien geöffnet werden. Es sind keine Haltepunkte festgelegt, aber Eclipse verhält sich genau so, als hätte ich hier einen Haltepunkt. Wenn ich alle Haltepunkte lösche, passiert es immer noch.
Ich habe ein zweites viel größeres Projekt im selben Eclipse-Arbeitsbereich, das nicht unter diesem Problem leidet.
Ich habe gerade das kleinere Projekt von meinem alten Linux-Computer, auf dem ich es in Europa Eclipse entwickelt habe und das dieses Problem hatte, auf meinen neuen Windows-Computer verschoben, auf dem ich das Problem weiterhin in Ganymede Eclipse sehe. Das Problem besteht weiterhin zwischen Betriebssystemen und Eclipse-Versionen, jedoch offenbar nicht projektübergreifend. Ich verstehe es nicht! Ich habe jede Datei im Verzeichnis dieses Projekts durchsucht und konnte nichts finden, was eine Datei sein könnte, die Eclipse irgendwie anweist, in FileInputStream anzuhalten.
Weitere Informationen : Der scheinbare Haltepunkt gilt eigentlich nicht für Zeile 106 von FileInputStream. Es scheint sich um einen Ausnahme-Haltepunkt für FileNotFoundException zu handeln, der aus nativem Code ausgelöst wird, der in FileInputStream aus dieser Zeile aufgerufen wird. Aber auch hier scheinen mir überhaupt keine Haltepunkte gesetzt worden zu sein. Sind Ausnahme-Haltepunkte woanders definiert?
quelle
Antworten:
Haben Sie versucht, die Auswahl aufzuheben?
? (wie in diesem Thread erwähnt , zum Beispiel)
Warum funktioniert Eclipse so?
Es geht auf das Jahr 2002 zurück , als die Haltepunktobjekthierarchie reduziert wurde.
quelle
Ich hatte ein ähnliches Problem, aber die akzeptierte Lösung funktionierte bei mir nicht. Ich mache Eclipse Android-Entwicklung und hatte einige Haltepunkte gesetzt und später deaktiviert. Obwohl ich sie deaktiviert habe, hat Eclipse die Ausführung an diesen Phantom-Haltepunkten immer wieder gestoppt. Die Lösung für mich war, das Fenster Haltepunkte zu öffnen:
Fenster> Ansicht anzeigen> Andere ...
Debug> Haltepunkte
Klicken Sie dann mit der rechten Maustaste auf einen Haltepunkt und wählen Sie "Alle entfernen".
Leider müssen Sie alle gültigen Haltepunkte zurücksetzen, aber das hat bei mir funktioniert und viel Angst und Frustration in Zukunft verhindert.
Einige Bilder als Leitfaden für andere:
quelle
Für diejenigen, die andere Lösungen nicht nützlich finden, habe ich meine persönliche Lösung für mein Problem gefunden. Ich arbeite mit einer .jar-Bibliothek, die durch Einfügen eines anderen Projekts in den Arbeitsbereich generiert wird. Wenn ich einen Haltepunkt in einer Java-Datei im Bibliotheksprojekt festlege, wird der Haltepunkt beim Debuggen des endgültigen Projekts ausgelöst. Wenn der Debugger die Ausführung unterbricht, wird jedoch die .class-Datei angezeigt, die ihre eigenen Haltepunkte hat, und daher wird der in der .java-Datei festgelegte Haltepunkt hier nicht angezeigt!
Lösung: Um den Haltepunkt zu entfernen, müssen Sie den Haltepunkt in die Java-Datei im Bibliotheksprojekt entfernen.
quelle
Ich bin auf ein Problem gestoßen, bei dem eine Quelldatei dauerhafte Markierungen für nicht vorhandene Haltepunkte enthielt. Ich habe versucht, das Projekt zu bereinigen, einen vollständigen Build durchzuführen und Eclipse neu zu starten - nichts hat funktioniert.
Ich habe die Eclipse-Metadaten durchsucht und die .markers-Datei des Projekts gefunden. Durch das Löschen dieser Datei wurde das Problem behoben.
Wenn Sie dieses Problem haben, öffnen Sie Ihr Arbeitsbereichsverzeichnis, navigieren Sie zu .metadata / .plugins / org.eclipse.core.resources / .projects / your project und benennen Sie die Dateimarker um / entfernen Sie sie.
Wenn Ihr Arbeitsbereichsordner beispielsweise ~ / workspace lautet und Ihr Projekt Foo heißt, können Sie Folgendes tun:
quelle
Für diejenigen, die aus den vorherigen Antworten keine Lösung gefunden haben, können sie versuchen, was mein Problem gelöst hat. Es ist meiner Meinung nach ähnlich wie bei HAL9000 Problem / Lösung
Wenn Sie zwei Klassen mit demselben Namen haben (in zwei verschiedenen Projekten), gelten die Haltepunkte für die eine auch für die andere. Beide werden im Fenster "Haltepunkte" angezeigt.
Lösung : Wenn Sie den Haltepunkt aus der Klasse mit demselben Namen entfernen, den Sie nicht verwenden, wird der Haltepunkt aus der Klasse entfernt, die Sie debuggen.
quelle