Benutzerdefinierte Symbolspeicher und Symbolserver

Das richtige Einrichten von Symbolen für das Debuggen kann eine schwierige Aufgabe sein, insbesondere beim Kerneldebugging. Häufig ist es erforderlich, dass Sie die Namen und Releases aller Produkte auf Ihrem Computer kennen. Der Debugger muss in der Lage sein, jede der Symboldateien zu finden, die den Produktversionen und Service Packs entsprechen.

Dadurch können extrem lange Symbolpfade entstehen, die aus einer langen Liste von Verzeichnissen bestehen. Um diese Schwierigkeiten bei der Koordination von Symboldateien zu vereinfachen, können die Symboldateien in einem Symbolspeicher gesammelt werden, auf den dann ein Symbolserver zugreift.

Ein Symbolspeicher ist eine Sammlung von Symboldateien, ein Index und ein Tool, das von einem Administrator zum Hinzufügen und Löschen von Dateien verwendet werden kann. Ein Symbolspeicher kann auch ausführbare Bilddateien enthalten.

Die Dateien werden gemäß eindeutigen Parametern wie dem Zeitstempel und der Bildgröße indiziert. Ein Symbolspeicher kann auch ausführbare Bilddateien enthalten, die mithilfe eines Symbolservers extrahiert werden können. Debugtools für Windows enthält ein Tool zum Erstellen von Symbolspeichern mit dem Namen SymStore.

Der Debugger greift mithilfe eines Symbolservers auf die Dateien in einem Symbolspeicher zu. Die Debugtools für Windows umfassen sowohl das Tool zum Erstellen eines Symbolspeichers, SymStore, als auch den Symbolserver SymSrv. Es enthält auch ein Tool, SymProxy, zum Einrichten eines HTTP-Symbolspeichers in einem Netzwerk, der als Proxy für alle Symbolspeicher dient, auf die der Debugger möglicherweise zugreifen muss.

Ein Symbolserver ermöglicht es den Debuggern, automatisch die richtigen Symboldateien aus einem Symbolspeicher abzurufen, ohne dass der Benutzer Produktnamen, Releases oder Buildnummern kennen muss. Debugtools für Windows enthält einen Symbolserver namens SymSrv. Der Symbolserver wird aktiviert, indem eine bestimmte Textzeichenfolge in den Symbolpfad eingeschlossen wird. Jedes Mal, wenn der Debugger Symbole für ein neu geladenes Modul laden muss, ruft er den Symbolserver auf, um die entsprechenden Symboldateien zu suchen. Informationen zum Arbeiten mit dem Symbolserver finden Sie unter Öffentliche Microsoft-Symbole.

Wenn Sie eine andere Methode für Ihre Symbolsuche als die von SymSrv bereitgestellte verwenden möchten, ist es möglich, Eine eigene Symbolserver-DLL zu entwickeln. Ausführliche Informationen zur Implementierung eines solchen Symbolservers finden Sie unter Andere Symbolserver.

Dieser Abschnitt umfasst Folgendes:

HTTP-Symbolspeicher

Dateifreigabe-Debuggersymbolserver (SMB)

Symbolspeicherordnerstruktur

Andere Symbolspeicher

Installieren von Windows-Symboldateien

Offlinesymbole für Windows Update

Wenn Sie keinen eigenen Symbolspeicher einrichten, sondern lediglich den öffentlichen Microsoft-Symbolspeicher verwenden möchten, finden Sie weitere Informationen unter Microsoft Public Symbols.

Symbolhilfsprogramme

Die folgenden Hilfsprogramme ermöglichen die Verteilung und Steuerung von Symbolen in größeren Softwareentwicklungsprojekten.

Hilfsprogramm Beschreibung
SymProxy Verwenden Sie , um Ihren HTTP-basierten Symbolspeicher so zu konfigurieren, dass er als Proxy zwischen Clientcomputern und anderen Symbolspeichern fungiert.
SymStore SymStore (symstore.exe) ist ein Tool zum Erstellen von Symbolspeichern.
AgeStore Das AgeStore-Tool (agestore.exe) löscht Dateien in einem Verzeichnis oder einer Verzeichnisstruktur basierend auf ihren letzten Zugriffsdaten.
DBH Das DBH-Tool (dbh.exe) ist ein Befehlszeilentool, das Informationen zum Inhalt einer Symboldatei anzeigt.
PDBCopy Das PDBCopy-Tool (pdbcopy.exe) ist ein Befehlszeilentool, das private Symbolinformationen aus einer Symboldatei entfernt.
SymChk SymChk (das Microsoft Symbol Checker-Tool), Symchk.exe, ist ein Programm, das ausführbare Dateien mit Symboldateien vergleicht.