C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.

Slides:



Advertisements
Ähnliche Präsentationen
Benutzerorientierte Designprinzipien für die Microsoft-Guidelines
Advertisements

Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
C Tutorium – Semaphoren –
ACN Closing Cockpit Andrea Mokesch
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Objektorientierte Programmierung
SAP R/3 - Speichermanagement
On a Buzzword: Hierachical Structure David Parnas.
Atmel AVR JTAG Einführung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vortrag im Rahmen des Seminars
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.
Graphikfähige Taschenrechner
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.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Debugging, Logging, Monitoring, Tools
Automatische Übersetzungen mit Google
© Gabriele Sowada © Gabriele Sowada 2 Zählschleife Beispiel 3 demonstriert die Implementation einer Zählschleife, einer häufig.
Duo- und Quad Prozessor-Architektur
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Microsoft® Office® 2010-Schulung
Vorstellung des Entwurfs
CGI (Common Gateway Interface)
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Kommission und Steuerung in wenigen Minuten Daten- und Steuerungsflexibilität in einem einzigen Netzwerk.
Präsentation von Lukas Sulzer
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
die Auftragsbearbeitung für den Kleinbetrieb
Interpreter & Compiler
Saia® Systemkatalog Kapitel A1 – Systemeigenschaften
Hardlock Server Setup Ein MCPS Messdatenerfassungs - PC kann auch als
Μ Version 1.0Seite 1µVision Start Debugger Set Breakpoint µVision Debugger.
Systemsoftware und Betriebssysteme
Veröffentlichen in einem Teamwebsitefeed j drücken Sie dann F5, oder klicken Sie auf Bildschirmpräsentation > Von Beginn an, um den Kurs zu starten. Klicken.
Technik schädlicher Software
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
© 2013 Software AG. All rights reserved. ARIS Interactive Guide hilft Ihnen Schaltflächen und Funktionalität von ARIS 7.2 in ARIS 9 wiederzufinden. Nach.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Christos Mavridis ‌ WG13 ‌‌‌ Köln, Update und Patch-Management.
Ablaufbeobachtung in einer opensource virtual machine
2.3 Implementierung von Prozessen
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Tutorial Holdings Management Erstellen, Bearbeiten und Zuweisen von Links für Full Text Finder support.ebsco.com.
Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr.
0 © 2015 Fujjitsu Aktivierung des Support Pack & SolutionPack Product Support Services.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Promise EX4650 & EX8650 Controller Allgemeines: – Es müssen immer Festplatten Konfiguriert werden, da ansonsten für das Betriebssystem keine Laufwerke.
TOAD® IM TURBO-MODUS Zusatzmodul-Übersicht. INHALT  Wie vielseitig hätten Sie's denn gern?  Formatter Plus™  Debugging-Modul  Xpert Tuning-Modul 
ESP Tutorium Studienassistent: Ewald Moitzi Gruppe 1.
Drupal Installation Versionen 7.43 & Allgemein (bei beiden Versionen) Xampp Control- Panel öffnen Server starten, sonst kein Zugriff auf localhost.
J. Nürnberger2007 / 081 Tabellenkalkulation (3) Arbeiten mit Formeln am Beispiel von OpenOffice.org Calc.
SAS Backstage Biljana Gigić1, Andreas Deckert2
Entwicklungsumgebung Lazarus
Projektarbeit in der Informatik
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
E-Aufgaben in Stud.IP mit ViPS – erste Schritte –
 Präsentation transkript:

C Tutorium – Debugging & Tracing – Knut Stolze

2 Agenda Debugging & Debugger Tracing

3 Debugger Schrittweises Nachvollziehen der Logik eines Programms/einer Funktion Zugriff auf und Modifikation von Programmvariablen Programm muss nicht neu übersetzt oder verändert werden Debug-Informationen sind jedoch notwendig – Compiler-Option “-g” – Übersetzung mit Optimierung behindert Abbildung zwischen Kompilat und Quelltext  nicht “-Ox” verwenden

4 Debugger (2) Bearbeiten von laufenden Programmen möglich – Debugger verbindet sich (“attach”) zu existierenden Prozess Analysieren von Core-Dateien – Art Log bei Programmabstürzen

5 Debugger – Funktionalität Run  Starte Programm (evtl. mit Optionen) Breakpoint setzen  Programm wird ausgeführt, bis die Stelle im Code bei der Ausführung erreicht wird; dann hält der Debugger das Programm an Next  Gehe einen Schritt weiter in der Ausführung des Programms Step  Steige in Unterfunktion hinab

6 Debugger – Funktionalität (2) Continue  Setze Programm fort, bis zum nächsten Breakpoint Restart  Starte Programm neu Backtrace  Gib den Aufruf-Stack aus Print  Variablen/Datenstrukturen anzeigen (global und lokal) Set  Setze Wert einer Variable …

7 gdb Kommandozeilen-Debugger gdb – Help-Befehl ist sehr hilfreich Debugger sehr hilfreich, wenn keine graphische Oberfläche verfügbar Graphische Debugger meist besser und übersichtlicher – Quelltext, Variablen, Call-Stack, … werden parallel angezeigt

8 ddd Graphischer Debugger ddd

9 Debugger – Internas Debugger startet Programm – Debugger & Programm sind ein Prozess  Debugger kann auch Speicher und Strukturen des Programms zugreifen Debugger verbindet sich zu laufendem Prozess – Debugger & Programm sind verschiedene Prozesse (Betriebssystem trennt klar beide Adressräume)  spezielle Systemfunktion  Erlaubt Zugriff auf Speicher anderer Prozesse  Funktion nicht selber nutzen, da sehr schwierig zu handhaben und risikobehaftet  Besondere Rechte notwendig

10 Tracing Programme werden nach der Entwicklung nicht mit Debug-Informationen ausgeliefert/verwendet; Programm wird i.A. auch noch optimiert  Starten/Attachen eines Debuggers nicht möglich  Nachvollziehen des Programmablaufs muss mit anderen Mitteln ermöglich werden

11 Tracing (2) Spezielle Komponente, die Trace- Informationen bei Bedarf sammelt – Ist im fertigen Produkt mit vorhanden Informationen – Eintritt, Verlassen, und ausgewählte Zwischenpunkte/Daten

12 Tracing (3) Beispiel “System J” – DBJ_TRACE_ENTRY() – DBJ_TRACE_EXIT() – DBJ_TRACE_ACTIVE() DBJ_TRACE_DATA1(tracePoint, length1, data1) – DBJ_TRACE_DATA2(tracePoint, length1, data1, length2, data2) – DBJ_TRACE_DATA3(tracePoint, length1, data1, length2, data2,length3, data3) – DBJ_TRACE_NUMBER(tracePoint, str, val) – DBJ_TRACE_STRING(tracePoint, str)