Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Karoline Berger Geändert vor über 8 Jahren
1
Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr
2
Gliederung 1.Debuggen allgemein 2.Visuelle Debugger 3.Pro und Kontra 4.„praktische“ Beispiele Visuelles Debugging
3
1. Debuggen allgemein 1.1Begriff Debugger / Debugging Bug = Wanze Debuggen = Entwanzen, Beseitigung von Fehlern Begriff von Compilerbaupionierin Grace Hopper geprägt: „Ein solches Insekt, von einer glühenden Kathodenstrahlröhre angelockt, setzte ihren Mark2 Computer außer Betrieb.“ =>Seit dem werden Fehler Bugs genannt<=
4
Visuelles Debugging 1. Debuggen allgemein 1.2Vorgehen beim Debuggen Worin besteht der Fehler? Wo befindet sich der Fehler? Fehler beheben Fehlerbehebung testen!
5
Visuelles Debugging 1. Debuggen allgemein 1.3Probleme beim Debuggen Technische Probleme Symptome & Ursachen können sich an verschiedenen Stellen befinden Seiteneffekte können auftreten Psychologische Probleme Was nicht sein kann... Man sieht was man erwartet => Zuweisungsfehler lassen sich 3x schwerer erkennen
6
Visuelles Debugging 1. Debuggen allgemein 1.4Klassen von Bugs Laufzeitfehler Logische Fehler Speicherfehler Umgebungsfehler Toolfehler Hard- und Softwarefehler Konzeptionsfehler Häufigkeit des Auftretens Fehlerbehebungsmöglickeit Debugger Unterstützung
7
Visuelles Debugging 2. visuelle Debugger 2.1Grundprinzipien Heisenberg - Prinzip Wahrheitsprinzip =>Die Benutzung eines Debuggers darf das Verhalten des Programmes nicht verändern! =>Die Informationen des Debuggers müssen Wahrheitsgemäß sein!
8
Visuelles Debugging 2. visuelle Debugger 2.2visualisierbare Daten Statische Informationen Pretty Paint -Syntax Hervorhebung -Überwachung der Klammerung -automatische Textausrichtung Reengineering Tools -Erzeugung von Struktogrammen oder Klassendiagrammen aus Quelltext
9
Visuelles Debugging 2. visuelle Debugger 2.2visualisierbare Daten Dynamische Informationen Datenstrukturen Datenfluß Siehe Vortrag DDD Breakpoints Siehe Vortrag Jinsight
10
Visuelles Debugging 2. visuelle Debugger 2.3Interaktion Benutzer Debugger Breakpoint=Haltepunkt bei dem das Programm stoppt Debuggee =Prozeß, der vom Debugger kontrolliert wird Single Step = Programm wird zeilenweise ausgeführt Begriffe
11
Visuelles Debugging 2. visuelle Debugger 2.3Interaktion Benutzer Debugger USER Interface Debugger Schnittstelle des Betriebssystems bzw. JVMDI (Java Virtual Machine Debugging Interface) Kernel Allgemeiner Aufbau
12
Visuelles Debugging 2. visuelle Debugger 2.3Interaktion Benutzer Debugger Debuggee(OS) / JVMDIDebugger Signal: Debuggee ist auf Breakpoint gestoßen ist Meldung: Breakpoint gefunden Fordert: Zustand Lieferung: Zustand Zeit Setzen: Breakpoint Start Stopp Start
13
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) JBuilder Unterstützte Funktionen: Pretty Paint Watchlists für Variablen und Ausdrücke Stackanzeige Single Step Breakpoints: ZeilenBP: ExceptionBP: KlassenBP: MethodenBP:
14
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) JSWAT Unterstützte Funktionen: Pretty Paint Watchlists Single Step Stackanzeige Breakpoints
15
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) DDD Unterstützte Funktionen: Watchlists Single Step Breakpoints Visualisieren von Datenbeziehungen- & Strukturen: - u.a. Darstellung verzweigter Strukturen als Bäume - numerische Felder in 2 bzw. 3 dimensionalen Feldern
16
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) DDD
17
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ZStep95 -für Common Lisp -„merkt“ sich den kompletten Programmzustand
18
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ISVL (Internet Software Visualization Laboratory) –um Fernunterricht von Prolog zu unterstützen –verteilte Fehlersuche –Prologprogramm über Java Applet => ISVL Server –Visualisierung durch transparent prolog machine –Schüler & Lehrer können Notizen hinzufügen
19
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ISVL
20
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ISVL
21
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) PRISM –kommerziell erhältlicher Debugger von SUN –Bestandteil des High Performance Computing Pakets –Darstellung von Datenstrukturen auf Bäume beschränkt
22
Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) Lens: -in Quellcode müssen spezielle Animationsanweisungen eingefügt werden VCC: -für Programmiersprache C DEET: -benutzt externe Grafikprogramme -auf Baumstrukturen beschränkt DUEL: -spezielle Programmiersprache für Debugger -XDUEL visualisiert die Daten von DUEL
23
Visuelles Debugging 3. visuelle Debugger PRO Durch Break-/Watchpoints lassen sich viele Fehler finden durch Visualisierung von Daten & Datenstruktren lassen sich Speicher-, Zugriffs- & Fehler in Algorithmen aufspüren Visuelle Daten sind allgemein besser zu verstehen als abstrakte
24
Visuelles Debugging 3. visuelle Debugger CONTRA Visualisierung von Daten - & Datenstrukturen im komplexen unübersichtlich Der Fehler steckt im Detail! Visualisierungs- algorithmen vereinfachen und abstrahieren => Widerspruch zu den Grundprinzipien
25
Visuelles Debugging 4. visuelle Debugger „praktische Beispiele“ JBuilder & Jswat Beispiele für: - Breakpoints - Watchlisten - Stackanzeigen
26
Visuelles Debugging 5. Literatur Cleve und Zeller: „Automatisches Debuggen“, 2001 Zeller: “Datenstrukturen visualisieren und animieren mit DDD“, 2001 Hilfethemen / Tutorials des JBuilder, Jswat, MS Visual Studio Topic: „Seminar Visualisierung in Informatik und Naturwissenschaften - Visuelles Debugging“, 1999 Lieberman, H.; Fry, C.:, ACM Conference on Computers and Human Interface [CHI- 95], Denver, April 1995 http://www.bluemarsh.com/java/jswat http://www.borland.com http://www.gnu.org/software/ddd/
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.