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

Slides:



Advertisements
Ähnliche Präsentationen
Prüfung objektorientierter Programme -1
Advertisements

Modellbasierte Software-Entwicklung eingebetteter Systeme
» Imagine « Gestaltung von Benutzungsschnittstellen in der Praxis, Beispiele für Hypermedia- Systeme und virtuelle Realität Videoseminar zur Software-Ergonomie.
Designing Software for Ease of Extension and Contraction
Das „Vorgehensmodell“
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Objektorientierte Programmierung
Datenbankzugriff im WWW (Kommerzielle Systeme)
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Ausnahmen HS Merseburg (FH) WS 06/07.
Atmel AVR JTAG Einführung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
Sebastian Grahn Sebastian Kühn
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
1 Analyse von Software-statisch- Darmstadt,den Presentation: Sebastian Schikowski Steve Kenfack.
Wieviel Programmieren-Können braucht man in der Mathematiklehre? Arbeitsgruppe MU&I Ak der GDM Dillingen2005, Ltg: Haftendorn Teilnehmer: Epkenhans, Martin.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Aufgaben eines IT-Koordinators
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
Einführung in Visual C++
Hyperstrukturen Ein Beispiel © Katharina Brachmann.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
UML Begleitdokumentation des Projekts
Folie 1 Reengineering-Werkzeugen für Webseiten Johannes Martin, University of Victoria Ludger Martin, Technische Universität Darmstadt WSR 2001 Bad Honnef,
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie.
Debugging, Logging, Monitoring, Tools
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Simple Programmierung
? Was ist Informatik? Was ist Informatik? Alexander Lange
Unified Modeling Language Repetition / Einführung zu UML
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Präsentation von Lukas Sulzer
Oliver Spritzendorfer Thomas Fekete
Visuelle Programmiersprachen im Informatikunterricht
Linking and Brushing on ODBC Basis
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Systemsoftware und Betriebssysteme
Software der EDV-Anlage
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Web-basierter Unterricht in der Computergraphik: Konzepte und Realisierung von interaktiven Online-Kursen Reinhard Klein, Frank Hanisch Wilhelm-Schickard.
Grafische Visualisierung von Softwarestrukturen
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Software Design Patterns
Ablaufbeobachtung in einer opensource virtual machine
2 Datenabstraktion Geheimnisprinzip:
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Anmerkung des Autor Diese Präsentation ist mit Powerpoint für MacOS erstellt. Leider ist sie nicht vollständig mit Powerpoint für Windows kompatibel.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
DTrace Mathias Velten Sun Campus Ambassador
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Organisationsweite Kommunikation und Kooperation
 Präsentation transkript:

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

Gliederung 1.Debuggen allgemein 2.Visuelle Debugger 3.Pro und Kontra 4.„praktische“ Beispiele Visuelles Debugging

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<=

Visuelles Debugging 1. Debuggen allgemein 1.2Vorgehen beim Debuggen Worin besteht der Fehler? Wo befindet sich der Fehler? Fehler beheben Fehlerbehebung testen!

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

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

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!

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

Visuelles Debugging 2. visuelle Debugger 2.2visualisierbare Daten Dynamische Informationen Datenstrukturen Datenfluß Siehe Vortrag DDD Breakpoints Siehe Vortrag Jinsight

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

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

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

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:

Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) JSWAT Unterstützte Funktionen: Pretty Paint Watchlists Single Step Stackanzeige Breakpoints

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

Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) DDD

Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ZStep95 -für Common Lisp -„merkt“ sich den kompletten Programmzustand

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

Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ISVL

Visuelles Debugging 2. visuelle Debugger 2.4visuelle Debugger (Systeme) ISVL

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

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

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

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

Visuelles Debugging 4. visuelle Debugger „praktische Beispiele“ JBuilder & Jswat Beispiele für: - Breakpoints - Watchlisten - Stackanzeigen

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