Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr.

Ähnliche Präsentationen


Präsentation zum Thema: "Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr."—  Präsentation transkript:

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/


Herunterladen ppt "Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr."

Ähnliche Präsentationen


Google-Anzeigen