Frage

Ich möchte wissen, wie symbolischen Debugger arbeiten ?. Was ist Debug-Symboltabelle und wie es erleichtert Source-Level-Debugging. Ich bin ziemlich blind für die hinter den Kulissen Aktionen von debuggers..what passiert eigentlich, wenn ich ‚-g‘ Option gcc bieten, was geschrieben wird, Datei und solche Feinheiten zu widersprechen. Ich würde mich freuen, wenn SO kann Gemeinschaft erklären und lenken mich auf Quellen, wo ich weitere Informationen erhalten kann

War es hilfreich?

Lösung

Symboldateien sind nur eine Liste aller definierten globalen Variablen und Funktionen, sowie deren Offsets vom Anfang des Moduls. Es hat auch eine Liste aller Strukturen und beschreibt ihre Felder.

So, wenn GDB / WinDbg Lasten auf, es in der Lage ist, bei EIP (aktueller Anweisung) suchen und ordnen Sie die Adresse auf so etwas wie (someFunc + 0x25). Natürlich auch die meisten Symbole der Zeileninformationen als auch verschlüsselt haben, so kann er einen Schritt weiter und sagt, gehen „someFunc + 0x25 am nächsten Zeile 57 bis foo.cpp“.

Andere Tipps

Überprüfen Sie die DWARF Debug-Spezifikation für eine eingehende Beschreibung aller Debug-Informationen, die von gcc und wie der Debugger nutzt es.

ZWERG 3 Debugging Spezifikation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top