Spatial and Image Extensions in DB2 UDB

 Documents

 21 views
of 12
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
C Tutorium – Debugging & Tracing – Knut Stolze Agenda  Debugging & Debugger  Tracing 2 Debugger  Schrittweises Nachvollziehen der Logik eines…
Share
Transcript
C Tutorium – Debugging & Tracing – Knut Stolze Agenda  Debugging & Debugger  Tracing 2 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 3 Debugger (2)  Bearbeiten von laufenden Programmen möglich – Debugger verbindet sich (“attach”) zu existierenden Prozess  Analysieren von Core-Dateien – Art Log bei Programmabstürzen 4 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 5 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  … 6 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 7 ddd  Graphischer Debugger ddd 8 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 9 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 10 Tracing (2)  Spezielle Komponente, die Trace- Informationen bei Bedarf sammelt – Ist im fertigen Produkt mit vorhanden  Informationen – Eintritt, Verlassen, und ausgewählte Zwischenpunkte/Daten 11 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) 12
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks