Zum Hauptinhalt Zur Navigation

Debugging: Microsoft macht Office Symbols öffentlich

Microsoft macht Symbol-Dateien der Office-Anwendungen für Debugging zwecks Diagnostik und Bug-Hunting öffentlich.
/ Boris Mayer
2 Kommentare News folgen (öffnet im neuen Fenster)
Debugging-Symbole für Office (Bild: Microsoft)
Debugging-Symbole für Office Bild: Microsoft

Nein, die Office Symbols for Windows(öffnet im neuen Fenster) sind nicht die neuen Wingdings(öffnet im neuen Fenster) . Es handelt sich um eine Sammlung an Symbolen, die Compiler während des Build-Prozesses anlegen, damit Softwareentwickler während des Debuggings im Sourcecode enthaltene Informationen angezeigt bekommen können, die im fertigen Binary-Kompilat nicht mehr enthalten sind.

Bei den Symbol-Dateien unterscheidet man zwischen solchen, die alle Metainformationen beinhalten, und sogenannten Stripped-Versionen, in denen nur ein Teil der ursprünglichen Informationen enthalten ist. Das Unternehmen spricht hier von einer Unterteilung in Public Symbols und Private Symbols. Microsoft veröffentlicht über den nun eingeführten Symbol Server die Stripped-Version mit den öffentlichen Symbolen.

Public Symbols und Private Symbols

Zu den Public-Symbol-Informationen zählen unter anderem Funktions- und auch Variablennamen - zumindest die der globalen. Bei der Untersuchung eines Stacktraces, bei Performanceuntersuchungen oder bei der Suche nach Bugs oder gar Sicherheitslücken ist dies enorm wertvoll, da die von den ursprünglichen Entwicklern verwendeten Namen lesbar sind und schon dadurch Rückschlüsse auf die Funktionalität erlauben. Hinzu kommt aber noch die Kommunikation: Es ist eben etwas anderes, wenn man sich mit Kollegen über den konkreten Namen einer Function oder eines Pointers unterhält, als wenn man über etwas wie 0x00038F34 redet - und ja, als Beispiel musste hier eine 32-Bit-Adresse herhalten, weil niemandem mit doppelt so vielen zufälligen Hexwerten geholfen wäre.

Zu den Private Symbols, also die Symbolversionen, die aus dem öffentlichen Verzeichnis entfernt (also stripped, daher die Bezeichnung stripped Symbols) wurden, gehören zum Beispiel die Zeilennummern - eine Information, die ohnehin nur sinnvoll ist, wenn man über Zugang zum eigentlichen Source-Code des Programms verfügt.

Microsofts Gründe, die Symbole öffentlich zu machen

Microsoft nennt als Anwendungsbeispiele Softwarehersteller, die auf Office basierende Programme erstellen und diese nun besser testen können, aber auch Hardwarehersteller, die durch Zugriff auf die Symbole ihre Kompatibilitäts- und Performancetests in der eigenen diagnostischen Umgebung besser durchführen können.

Daneben spielen für Microsoft aber auch Sicherheitsaspekte eine Rolle. "Symbols bieten zusätzliche Informationen, damit Sicherheitsforscher Sicherheitsprobleme in unseren Office-Produkten besser finden und melden können, um Kunden zu schützen" und "Symbols ermöglichen es Forschern, detailliertere und umsetzbare Berichte zu erstellen, einschließlich Stacktraces von Tools wie Process Monitor, WinDbg oder Visual Studio, die unseren Ingenieuren helfen, Probleme schneller zu beheben" .

Mit anderen Worten, Microsoft erhofft sich durch die Veröffentlichung der Symbol-Informationen nicht eine steigende Anzahl gefundener Bugs oder Sicherheitslücken, sehr wohl aber bessere Reports, die sich für die Microsoftentwickler einfacher nachvollziehen lassen, wenn es denn mal welche gibt.


Relevante Themen