close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Eclipse - Was Sie schon immer über Ihre Lieblings-IDE wissen

EinbettenHerunterladen
Debugging
Eclipse
Was Sie schon immer u
¨ber Ihre Lieblings-IDE wissen wollten ...
(2)
Dipl.-Inform. Stefan Weinbrenner
16. Juli 2007
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Warum Debugging?
Jeder Programmierer macht Fehler
20-30 Fehler pro 1000 Zeilen w¨ahrend des Programmierens1
In Software der NASA angeblich 0,1 Bug pro 1000 LOC
1
http://lxer.com/module/newswire/view/28141/index.html
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Ablauf des Debuggings
Fehler finden (oder finden lassen → automatisches Testing)
Fehler reproduzieren
Umgebung vereinfachen
W¨ahrend der Ausf¨
uhrung den verbleibenden Code inspizieren
und beobachten
Dabei Variablenbelegung im Auge halten
Problemstelle finden und ver¨andern
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Ablauf des Debuggings
Fehler finden (oder finden lassen → automatisches Testing)
Fehler reproduzieren
Umgebung vereinfachen
W¨ahrend der Ausf¨
uhrung den verbleibenden Code inspizieren
und beobachten
Dabei Variablenbelegung im Auge halten
Problemstelle finden und ver¨andern
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Ablauf nach Zeller2
Track the problem.
Reproduce the failure.
Automate and simplify.
Find infection origins.
Focus on likely origins.
Isolate the infection chain.
Correct the defect.
2
http://www.whyprogramsfail.com/
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Ablauf nach Zeller2
Track the problem.
Reproduce the failure.
Automate and simplify.
Find infection origins.
Focus on likely origins.
Isolate the infection chain.
Correct the defect.
2
http://www.whyprogramsfail.com/
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Debugging in Java
jdb in der Konsole nutzbar (will man nicht)
In Eclipse jdb ansprechbar (will man)
Dazu einfach eine Klasse im Debug-Modus starten
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Zust¨ande eines Threads
Running
Ablauf wie im normalen Modus
Suspended
Ablauf angehalten
Stepping
Befehl des aktuellen Frames wird ausgef¨
uhrt, danach wird wieder
angehalten
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Navigation im Aufrufbaum
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Navigation im Aufrufbaum
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Zust¨ande eines Threads (2)
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
DEMO
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Allgemein
Klasse im Debug-Modus starten
F11
Breakpoint togglen
CTRL + B
Markierten Ausdrucken inspizieren
CTRL + SHIFT + I
Bis zur aktuellen Zeile laufen
CTRL + R
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Navigation
Step Into
F5
Step Over
F6
Step Return
F7
Resume
F8
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Breakpoint-Typen
Line Breakpoints
Stoppe, wenn Zeile X erreicht ist.
Breakpoint Hit Counter
Stoppe, wenn Zeile X n-mal erreicht wurde.
Conditional Breakpoints
Stoppe, wenn Bedingung B gilt oder Ausdruck A sich ver¨andert
hat.
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Breakpoint-Typen (2)
Access- und Modification-Breakpoints
Stoppe, wenn auf Feld F (lesend/schreibend) zugegriffen wurde.
Exception Breakpoints
Stoppe, wenn Exception E geworfen wurde und (nicht) abgefangen
wurde.
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Debugging
Weitere Debuggingkonzepte
Watch Expressions
Zur Beobachtung eines ganzen Ausdrucks: Ausdruck markieren, im
Kontextmen¨
u “Watch Expression” w¨ahlen
Hot Debugging
W¨ahrend des Debuggings Code ¨andern, Datei speichern und
Methode wird neu ausgewertet; auch Variablenbelegungen sind zur
Laufzeit ¨anderbar.
Dipl.-Inform. Stefan Weinbrenner
Eclipse
Document
Kategorie
Technik
Seitenansichten
1
Dateigröße
298 KB
Tags
1/--Seiten
melden