Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:gdb:start [2015-08-24 10:48] abajricsoftware:gdb:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== GDB ====== 
- 
-<box 30% right green | QuickLinks> 
-  * [[http://www.sourceware.org/gdb/ | Webseite]] 
-  * [[https://sourceware.org/gdb/current/onlinedocs/gdb/ | User Manual]] 
-  * [[https://sourceware.org/gdb/download/onlinedocs/stabs/ | STABS]] 
-</box> 
- 
-Der GNU Debugger erlaubt es, zu sehen, was in einem Programm während der Ausführung passiert oder was ein Programm zuletzt gemacht vor einem Absturz. 
- 
-Die vier Hauptfunktionen von GDB sind: 
-  * Programm mit Optionen starten 
-  * Programm bei bestimmten Bedingungen anhalten 
-  * Untersuchen was geschehen ist, wenn das Programm angehalten wurde 
-  * Inhalt des Speichers ändern 
- 
-==== Handhabung ==== 
-GDB ist in vielen [[http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung|IDE]]s (wie z.B. Eclipse) integriert und wird über das GUI bedient. Alternativ kann GDB auch über die Kommandozeile gestartet werden: 
- 
-''gdb executable_name'' 
- 
-Programm starten: 
- 
-''run arg1 arg2 arg3'' 
- 
-Programm beenden: 
- 
-''kill'' 
- 
-GDB beenden: 
- 
-''quit'' 
- 
-Alle GDB Befehle können mit der GDB-Hilfefunktion aufgelistet werden: 
- 
-''help'' 
- 
- 
-==== STABS ==== 
-STABS (symbol tables) ist das Format in welchem das Program für den Debugger beschrieben wird. Der GCC Compiler kompiliert C-Programme (.c) in Assembler-Programme (.s), welche vom Assembler in Objekt-Dateien (.o) kompiliert werden, die dann vom Linker und anderen Objekt-Dateien zu einem ausführbarem Programm verlinkt werden. 
- 
-Mit der Option '-g' des GCC Compilers wird in die .s-Dateien zusätzliche Information eingefügt. Diese Information beschreibt Eigenschaften der Source-Datei, wie z.B. Zeilennummern, Typen, Scope der Variable, Funktionsnamen, usw. 
- 
-Beispiel: [[https://sourceware.org/gdb/download/onlinedocs/stabs/C-Example.html#C-Example | C Source]], [[https://sourceware.org/gdb/download/onlinedocs/stabs/Assembly-Code.html#Assembly-Code| ASM Source mit STAB]] 
- 
-==== Remote Debugging ==== 
- 
-<box 30% right green > 
-{{:software:gdb:gdb.png|GDB Remote Debugging}} 
-</box> 
-GDB kann auch Programme debuggen, die nicht lokal ausgeführt werden. Auf dem Target muss aber ein RSP-Server lauften, der mit dem GDB kommunizieren kann. Die Kommunikation läuft über das [[http://www.embecosm.com/appnotes/ean4/embecosm-howto-rsp-server-ean4-issue-2.html| Remote Serial Protokoll]].