GDB - Debugging Symbole


Advertisements

Ein Debugging symboltabelle Karten Anweisungen in der kompilierten binären Programm, um ihre entsprechenden Variablen, Funktionen oder Zeile im Quellcode. Diese Zuordnung könnte etwa so aussehen:

  • Programm-Anweisung ⇒ Artikelname, Artikeltyp, original datei, Zeilennummer definiert.

Symboltabellen können in das Programm eingebettet oder als separate Datei gespeicherten werden. Also, wenn Sie Ihr Programm debuggen wollen, dann ist es erforderlich, zu erstellen eine Symboltabelle,welche wird haben erforderlichen Informationen, um das Programm zu debuggen.

Wir können die folgenden Fakten über Symboltabellen schließen:

  • Eine Symboltabelle arbeitet für eine bestimmte Version des Programms - wenn, des Programms Änderungen , eine neue Tabelle muss erstellt werden.

  • Debug-Builds sind oft größer und langsamer als der Einzelhandel (nicht-debug) aufbaut; Debugbuilds enthalten die Symboltabelle und andere zusätzlich informationen.

  • Wenn Sie wünschen zu debuggen eine binäre Programm, das Sie haben sich nicht kompilieren selbst, müssen Sie zu bekommen die Symboltabellen des Autors.

Um lassen GDB in der Lage, all diese Informationen Zeile für Zeile aus der Symboltabelle zu lesen, müssen wir es ein Bit anders zu kompilieren. Normalerweise kompilieren wir unsere Programme als:

gcc hello.cc -o hello 

Anstatt, dies zu tun, müssen wir mit der Flagge -g kompilieren, wie unten gezeigt:

gcc -g hello.cc -o hello 
Advertisements