Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jeder Aufruf von SymStore wird als Transaktion aufgezeichnet. Es gibt zwei Arten von Transaktionen: Hinzufügen und Löschen.
Wenn der Symbolspeicher erstellt wird, wird ein Verzeichnis namens "000admin" unter dem Stamm des Servers erstellt. Das Verzeichnis 000admin enthält eine Datei für jede Transaktion sowie die Protokolldateien server.txt und history.txt. Die datei server.txt enthält eine Liste aller Transaktionen, die sich aktuell auf dem Server befinden. Die history.txt Datei enthält einen chronologischen Verlauf aller Transaktionen.
Jedes Mal, wenn SymStore Symboldateien speichert oder entfernt, wird eine neue Transaktionsnummer erstellt. Anschließend wird eine Datei, deren Name diese Transaktionsnummer ist, in 000admin erstellt. Diese Datei enthält eine Liste aller Dateien oder Zeiger, die während dieser Transaktion dem Symbolspeicher hinzugefügt wurden. Wenn eine Transaktion gelöscht wird, liest SymStore die Transaktionsdatei durch, um zu bestimmen, welche Dateien und Zeiger gelöscht werden sollen.
Die Optionen 'add' und 'del' bestimmen, ob eine Transaktion zum Hinzufügen oder Löschen ausgeführt werden soll. Das Einschließen der Option /p mit einem Add-Vorgang gibt an, dass ein Zeiger hinzugefügt werden soll; Wenn die Option "/p " weggelassen wird, wird angegeben, dass die tatsächliche Symboldatei hinzugefügt werden soll.
Es ist auch möglich, den Symbolspeicher in zwei separaten Phasen zu erstellen. In der ersten Phase verwenden Sie SymStore mit der Option "/x ", um eine Indexdatei zu erstellen. In der zweiten Phase verwenden Sie SymStore mit der Option "/y ", um den tatsächlichen Speicher von Dateien oder Zeigern aus den Informationen in der Indexdatei zu erstellen.
Dies kann aus verschiedenen Gründen eine nützliche Technik sein. So kann beispielsweise der Symbolspeicher problemlos neu erstellt werden, wenn der Speicher irgendwie verloren geht, solange die Indexdatei noch vorhanden ist. Oder der Computer mit den Symboldateien verfügt über eine langsame Netzwerkverbindung mit dem Computer, auf dem der Symbolspeicher erstellt wird. In diesem Fall können Sie die Indexdatei auf demselben Computer wie die Symboldateien erstellen, die Indexdatei auf den zweiten Computer übertragen und dann den Speicher auf dem zweiten Computer erstellen.
Eine vollständige Auflistung aller SymStore-Parameter finden Sie unter SymStore Command-Line Optionen.
Anmerkung SymStore unterstützt keine gleichzeitigen Transaktionen von mehreren Benutzern. Es wird empfohlen, dass ein Benutzer als "Administrator" des Symbolspeichers festgelegt und für alle Add - und Del-Transaktionen verantwortlich ist.
Transaktionsbeispiele
Hier sind zwei Beispiele dafür, wie SymStore Symbolzeiger für die Build-Version 2195 von Windows 2000 zu \\MyDir\symsrv hinzufügt:
symstore add /r /p /f \\BuildServer\BuildShare\2195free\symbols\*.* /s \\MyDir\symsrv /t "Windows 2000" /v "Build 2195 x86 free" /c "Sample add"
symstore add /r /p /f \\BuildServer\BuildShare\2195free\symbols\*.* /s \\MyDir\symsrv /t "Windows 2000" /v "Build 2195 x86 checked" /c "Sample add"
Im folgenden Beispiel fügt SymStore die tatsächlichen Symboldateien für ein Anwendungsprojekt in \\largeapp\appserver\bins zu \\MyDir\symsrv hinzu:
symstore add /r /f \\largeapp\appserver\bins\*.* /s \\MyDir\symsrv /t "Large Application" /v "Build 432" /c "Sample add"
Hier ist ein Beispiel für die Verwendung einer Indexdatei. Zunächst erstellt SymStore eine Indexdatei basierend auf der Sammlung von Symboldateien in \\largeapp\appserver\bins\. In diesem Fall wird die Indexdatei auf einem dritten Computer, \\hubserver\hubshare, platziert. Sie verwenden die Option "/g ", um anzugeben, dass sich das Dateipräfix "\\largeapp\appserver" in Zukunft ändern kann:
symstore add /r /p /g \\largeapp\appserver /f \\largeapp\appserver\bins\*.* /x \\hubserver\hubshare\myindex.txt
Angenommen, Sie verschieben alle Symboldateien vom Computer \\largeapp\appserver und setzen sie auf \\myarchive\appserver. Anschließend können Sie den Symbolspeicher selbst aus der Indexdatei \\hubserver\hubshare\myindex.txt wie folgt erstellen:
symstore add /y \\hubserver\hubshare\myindex.txt /g \\myarchive\appserver /s \\MyDir\symsrv /p /t "Large Application" /v "Build 432" /c "Sample Add from Index"
Schließlich ist hier ein Beispiel dafür, wie eine Datei gelöscht wird, die von einer vorherigen Transaktion hinzugefügt wurde. Eine Erläuterung zur Ermittlung der Transaktions-ID (in diesem Fall 0000000096) finden Sie unten im Abschnitt "server.txt und history.txt Dateien".
symstore del /i 0000000096 /s \\MyDir\symsrv
Die dateien server.txt und history.txt
Wenn eine Transaktion hinzugefügt wird, werden mehrere Informationselemente zu server.txt und history.txt für zukünftige Nachschlagefunktionen hinzugefügt. Nachfolgend ein Beispiel für eine Zeile in server.txt und history.txt für das Hinzufügen einer Transaktion:
0000000096,add,ptr,10/09/99,00:08:32,Windows Vista SP 1,x86 fre 1.156c-RTM-2,Added from \\mybuilds\symbols,
Dies ist eine durch Trennzeichen getrennte Linie. Die Felder werden wie folgt erläutert:
| Feld | BESCHREIBUNG |
|---|---|
0000000096 |
Transaktions-ID-Nummer, wie von SymStore erstellt. |
hinzufügen |
Transaktionstyp. Dieses Feld kann entweder hinzugefügt oder del werden. |
ptr |
Ob Dateien oder Zeiger hinzugefügt wurden. Dieses Feld kann entweder datei oder ptr sein. |
10/09/99 |
Datum, an dem die Transaktion aufgetreten ist. |
00:08:32 |
Zeitpunkt, zu dem die Transaktion gestartet wurde. |
Windows Vista SP 1 |
Produkt. |
x86 fre |
Version (optional). |
Hinzugefügt von |
Kommentar (optional) |
Unbenutzt |
(Reserviert für die spätere Verwendung.) |
Hier sind einige Beispielzeilen aus der Transaktionsdatei 0000000096. Jede Zeile zeichnet das Verzeichnis und den Speicherort der Datei oder des Zeigers auf, die dem Verzeichnis hinzugefügt wurden.
canon800.dbg\35d9fd51b000,\\mybuilds\symbols\sp4\dll\canon800.dbg
canonlbp.dbg\35d9fd521c000,\\mybuilds\symbols\sp4\dll\canonlbp.dbg
certadm.dbg\352bf2f48000,\\mybuilds\symbols\sp4\dll\certadm.dbg
certcli.dbg\352bf2f1b000,\\mybuilds\symbols\sp4\dll\certcli.dbg
certcrpt.dbg\352bf04911000,\\mybuilds\symbols\sp4\dll\certcrpt.dbg
certenc.dbg\352bf2f7f000,\\mybuilds\symbols\sp4\dll\certenc.dbg
Wenn Sie eine Del-Transaktion verwenden, um die ursprünglichen Add-Transaktionen rückgängig zu machen, werden diese Zeilen aus server.txtentfernt, und die folgende Zeile wird history.txthinzugefügt:
0000000105,del,0000000096
Die Felder für die Löschtransaktion werden wie folgt beschrieben.
| Feld | BESCHREIBUNG |
|---|---|
0000000105 |
Transaktions-ID-Nummer, wie von SymStore erstellt. |
del |
Transaktionstyp. Dieses Feld kann entweder hinzugefügt oder del werden. |
0000000096 |
Transaktion, die gelöscht wurde. |