61 Stimmen

Wie setzt man einen Haltepunkt in Eclipse in einer Bibliothek eines Drittanbieters?

Ich erhalte eine NullPointerException in einer Klasse aus einer 3rd-Party-Bibliothek. Nun möchte ich das Ganze debuggen und müsste wissen, von welchem Objekt die Klasse gehalten wird. Aber es scheint mir, dass ich nicht einen Haltepunkt in einer Klasse von einem Drittanbieter setzen kann.

Weiß jemand einen Ausweg aus meinen Schwierigkeiten? Natürlich benutze ich Eclipse als meine IDE.

Update: Die Bibliothek ist Open-Source.

1voto

hamidreza75 Punkte 435

In Maven-Projekten können Sie die Baumansicht der Maven-Abhängigkeiten in der Projekt-Explorer-Ansicht einfach öffnen und eine Liste der Jar-Dateien sehen, von denen Ihr Projekt abhängt. Öffnen Sie den Projekt-Explorer und erweitern Sie dann Ihr Projekt. Suchen Sie dann nach Maven-Abhängigkeiten und erweitern Sie diese Baumansicht. Nun können Sie eine beliebige Jar-Datei erweitern und eine Liste der verfügbaren Klassen sehen. Wenn Sie die Eingabetaste drücken, wird Eclipse den Quellcode für Sie dekompilieren und Sie können einen Haltepunkt setzen. Wenn Ihr Projekt Unterprojekte mit Maven-Modulen hat, sollten Sie nach Abhängigkeiten in Ihren Modulen suchen. Ich empfehle die Installation von Klassen-Decompiler-Plugin erweitern So können Sie Ihr Projekt leicht ohne Quellcode debuggen oder Sie können den Quellcode für Eclipse angeben, um zu vermeiden, dass Quelle nicht gefunden Wenn die Quelle der Jar-Datei eines Drittanbieters bereits als Projekt in Eclipse geöffnet ist, können Sie sie nicht im Abschnitt Maven-Abhängigkeiten erweitern.

0voto

Robin Green Punkte 30622

Hängen Sie einfach den Quelltext an (oder verwenden Sie etwas, das den Quelltext automatisch anhängt) und setzen Sie dann einen Haltepunkt auf die übliche Weise, indem Sie links neben der gewünschten Zeile doppelklicken.

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