Dela via


SymStore-transaktioner

Varje anrop till SymStore registreras som en transaktion. Det finns två typer av transaktioner: lägg till och ta bort.

När symbolarkivet skapas skapas en katalog med namnet "000admin" under serverns rot. Katalogen 000admin innehåller en fil för varje transaktion, samt loggfilerna server.txt och history.txt. Filen server.txt innehåller en lista över alla transaktioner som för närvarande finns på servern. Filen history.txt innehåller en kronologisk historik över alla transaktioner.

Varje gång SymStore lagrar eller tar bort symbolfiler skapas ett nytt transaktionsnummer. Sedan skapas en fil, vars namn är det här transaktionsnumret, i 000admin. Den här filen innehåller en lista över alla filer eller pekare som har lagts till i symbolarkivet under den här transaktionen. Om en transaktion tas bort läser SymStore igenom transaktionsfilen för att avgöra vilka filer och pekare den ska ta bort.

Alternativen addera och ta bort anger om en transaktion för att lägga till eller ta bort ska utföras. Med alternativet /p med en tilläggsåtgärd anges att en pekare ska läggas till. Om du utelämnar alternativet /p anges att den faktiska symbolfilen ska läggas till.

Det går också att skapa symbolarkivet i två separata steg. I den första fasen använder du SymStore med alternativet /x för att skapa en indexfil. I den andra fasen använder du SymStore med alternativet /y för att skapa det faktiska arkivet med filer eller pekare från informationen i indexfilen.

Detta kan vara en användbar teknik av olika skäl. Detta gör till exempel att symbolarkivet enkelt kan återskapas om arkivet på något sätt går förlorat, så länge indexfilen fortfarande finns. Eller så kanske datorn som innehåller symbolfilerna har en långsam nätverksanslutning till den dator där symbolarkivet skapas. I det här fallet kan du skapa indexfilen på samma dator som symbolfilerna, överföra indexfilen till den andra datorn och sedan skapa arkivet på den andra datorn.

En fullständig lista över alla SymStore-parametrar finns i SymStore Command-Line Alternativ.

Not SymStore stöder inte samtidiga transaktioner från flera användare. Vi rekommenderar att en användare utses till "administratör" för symbolarkivet och ansvarar för alla lägga till och del transaktioner.

Transaktionsexempel

Här är två exempel på hur SymStore lägger till symbolpekare för version 2195 av Windows 2000 till \\MyDir\symsrv:

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"

I följande exempel lägger SymStore till de faktiska symbolfilerna för ett programprojekt i \\largeapp\appserver\bins till \\MyDir\symsrv:

symstore add /r /f \\largeapp\appserver\bins\*.* /s \\MyDir\symsrv /t "Large Application" /v "Build 432" /c "Sample add"

Här är ett exempel på hur en indexfil används. Först skapar SymStore en indexfil baserat på samlingen med symbolfiler i \\largeapp\appserver\bins\. I det här fallet placeras indexfilen på en tredje dator, \\hubserver\hubshare. Du använder alternativet /g för att ange att filprefixet "\\largeapp\appserver" kan ändras i framtiden:

symstore add /r /p /g \\largeapp\appserver /f \\largeapp\appserver\bins\*.* /x \\hubserver\hubshare\myindex.txt

Anta nu att du flyttar alla symbolfiler från datorn \\largeapp\appserver och placerar dem på \\myarchive\appserver. Du kan sedan skapa själva symbolarkivet från indexfilen \\hubserver\hubshare\myindex.txt på följande sätt:

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"

Slutligen är här ett exempel på hur SymStore tar bort en fil som lagts till av en tidigare transaktion. Se avsnittet "server.txt och history.txt Files" nedan för en förklaring av hur du fastställer transaktions-ID :t (i det här fallet 0000000096).

symstore del /i 0000000096 /s \\MyDir\symsrv

Filerna server.txt och history.txt

När en transaktion läggs till läggs flera informationsobjekt till i server.txt och history.txt för framtida uppslagsfunktioner. Följande är ett exempel på en rad i server.txt och history.txt för en tilläggstransaktion:

0000000096,add,ptr,10/09/99,00:08:32,Windows Vista SP 1,x86 fre 1.156c-RTM-2,Added from \\mybuilds\symbols,

Det här är en kommaavgränsad rad. Fälten förklaras på följande sätt:

Fält Beskrivning

0000000096

Transaktions-ID-nummer, som skapats av SymStore.

lägg till

Typ av transaktion. Det här fältet kan antingen lägga till eller ta bort.

ptr

Om filer eller pekare har lagts till. Det här fältet kan vara antingen -fil eller -ptr.

10/09/99

Datum då transaktionen inträffade.

00:08:32

Tid då transaktionen startades.

Windows Vista SP 1

Produkt.

x86 fre

Version (valfritt).

Har lagts till från

Kommentar (valfritt)

Oanvänd

(Reserverad för senare användning.)

Här följer några exempelrader från transaktionsfilen 0000000096. Varje rad registrerar katalogen och platsen för filen eller pekaren som lades till i katalogen.

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

Om du använder en del-transaktion för att ångra den ursprungliga -tilläggs-transaktionen tas dessa rader bort från server.txtoch följande rad läggs till på history.txt:

0000000105,del,0000000096

Fälten för borttagningstransaktionen beskrivs på följande sätt.

Fält Beskrivning

0000000105

Transaktions-ID-nummer, som skapats av SymStore.

del

Typ av transaktion. Det här fältet kan antingen lägga till eller ta bort.

0000000096

Transaktion som har tagits bort.