2016-12-09 13 views
0

Ich versuche, einen Code mit f5 zu debuggen und begann Schritt für Schritt Debuggen. Aber wenn ich im nächsten Schritt f5 gedrückt habe, bewegt sich der Breakpoint zur Thread-Klasse und dann zur Thread-Gruppenklasse. Es iteriert zu vielen Schritten.Cant debuggen in Eclipse-IDE

enter image description here

Hier l.add(edg) seine Aufgabe für benutzerdefinierte Klasse. Als ich anfing, das Debuggen von f5 im nächsten Schritt drücken I

bekam

enter image description here

Es kontinuierlich iteriert durch alle Thread-Klassen .. Warum und was das Problem hinter diesem Problem ist? Wie man dieses Problem löst?

+2

das ist normales Verhalten für f5. Seit f5 ist Schritt, Sie durchlaufen jeden einzelnen möglichen Schritt, damit Sie sehen können, wo der Fehler auftreten kann. verwende besser f6, um in deiner Klasse zu bleiben – XtremeBaumer

Antwort

1

Es gibt verschiedene Schlüssel für Debug-Code in Eclipse.

F5 Um in Codiertiefe

F6 für Zeile für Zeile in der Klasse

F8 für den nächsten Breakpoint

F7 kommen aus der Tiefe zu gehen.

Versuchen Sie irgendjemanden und sehen Sie das Ergebnis.

+1

F7, um aus der Tiefe zu kommen ;-) –

+0

yeah, corrected !! Danke – iMBMT

+0

Nein, es funktioniert nicht mit meiner IDE ... Ich habe versucht, mit F6, aber es geht direkt zu Thread-Klasse .. – Rognik

1

Dies ist kein Problem mit Eclipse. Dieses Verhalten ist völlig normal. Dies bedeutet, dass Ihr Programm beim Ausführen der Codezeile eine Ausnahme auslöst.

Sie können dies sehen, wie Sie die getUncaughtExceptionHandler().uncaughtException(...) erreichen. Das heißt, du hast ... eine unangefochtene Ausnahme! Wenn es nicht gefunden wird, wird der Thread unterbrochen und die Ausnahme wird vom Standardhandler verarbeitet.

Ihr Programm sollte normalerweise in die Standardfehlerausgabe (die Konsole) drucken, wenn Sie es laufen lassen (nicht Schritt für Schritt).

Wahrscheinlich ist Ihre l Liste nicht richtig initialisiert und Sie erhalten eine NullPointerException aber das ist nur eine Vermutung, wie ich nicht weiß, was l ist. Versuchen Sie, Ihren Code erneut auszuführen. Wenn es den Schritt erreicht, in dem es abstürzt, überprüfen Sie den Wert Ihres Objekts (halten Sie es mit der Maus oder fügen Sie es der Liste der überwachten Objekte hinzu).

+0

initialisiert 'l' im Konstruktor – Rognik

+0

als' l' und Ihre Methode sind Statik, überprüfen Sie, ob Ihr Konstruktor ordnungsgemäß – jhamon

+0

aufgerufen wird, lassen Sie Ihr Programm laufen und überprüfen Sie die Fehler-Stack-Trace in der Konsole finden Sie heraus die Art des Fehlers. Das wird dich zu einer Lösung führen – jhamon

0

Bevor Sie fortfahren, sollten Sie einige Anleitungen durchgehen. Bitte beachten Sie den Link, der Ihnen das grundlegende Verständnis des Debuggens erleichtern könnte. How to debug in eclipse?