Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Ogni chiamata a SymStore viene registrata come transazione. Esistono due tipi di transazioni: aggiungere ed eliminare.
Quando viene creato l'archivio simboli, viene creata una directory denominata "000admin" nella radice del server. La directory 000admin contiene un file per ogni transazione, nonché i file di log server.txt e history.txt. Il file server.txt contiene un elenco di tutte le transazioni attualmente presenti nel server. Il file history.txt contiene una cronologia cronologica di tutte le transazioni.
Ogni volta che SymStore archivia o rimuove i file di simboli, viene creato un nuovo numero di transazione. Viene quindi creato un file, il cui nome è questo numero di transazione, in 000admin. Questo file contiene un elenco di tutti i file o puntatori aggiunti all'archivio simboli durante questa transazione. Se una transazione viene eliminata, SymStore leggerà il relativo file di transazione per determinare quali file e puntatori eliminare.
Le opzioni aggiungere e del specificano se eseguire una transazione di aggiunta o eliminazione. L'inclusione dell'opzione /p con un'operazione di aggiunta specifica che un puntatore deve essere aggiunto; omettendo l'opzione /p specifica che deve essere aggiunto il file di simboli effettivo.
È anche possibile creare l'archivio simboli in due fasi separate. Nella prima fase si usa SymStore con l'opzione /x per creare un file di indice. Nella seconda fase si usa SymStore con l'opzione /y per creare l'archivio effettivo di file o puntatori dalle informazioni nel file di indice.
Questa può essere una tecnica utile per diversi motivi. Ad esempio, ciò consente di ricreare facilmente l'archivio simboli se l'archivio viene in qualche modo perso, purché il file di indice esista ancora. O forse il computer contenente i file di simboli ha una connessione di rete lenta al computer in cui verrà creato l'archivio simboli. In questo caso, è possibile creare il file di indice nello stesso computer dei file di simboli, trasferire il file di indice nel secondo computer e quindi creare l'archivio nel secondo computer.
Per un elenco completo di tutti i parametri symstore, vedere SymStore Command-Line Options.
Nota SymStore non supporta transazioni simultanee da più utenti. È consigliabile che un utente venga designato come "amministratore" dell'archivio dei simboli e sia responsabile di tutte le transazioni di aggiunta e di eliminazione .
Esempi di transazioni
Ecco due esempi di SymStore che aggiungono puntatori di simboli per la build 2195 di Windows 2000 in \\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"
Nell'esempio seguente, SymStore aggiunge i file simbolici effettivi di un progetto di applicazione nella directory \\largeapp\appserver\bins alla directory \\MyDir\symsrv.
symstore add /r /f \\largeapp\appserver\bins\*.* /s \\MyDir\symsrv /t "Large Application" /v "Build 432" /c "Sample add"
Di seguito è riportato un esempio di utilizzo di un file di indice. Prima di tutto, SymStore crea un file di indice basato sulla raccolta di file di simboli in \\largeapp\appserver\bins\. In questo caso, il file di indice viene inserito in un terzo computer, \\hubserver\hubshare. Usare l'opzione /g per specificare che il prefisso del file "\\largeapp\appserver" potrebbe cambiare in futuro:
symstore add /r /p /g \\largeapp\appserver /f \\largeapp\appserver\bins\*.* /x \\hubserver\hubshare\myindex.txt
Si supponga ora di spostare tutti i file di simboli dal computer \\largeapp\appserver e inserirli in \\myarchive\appserver. È quindi possibile creare l'archivio simboli stesso dal file di indice \\hubserver\hubshare\myindex.txt come indicato di seguito:
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"
Infine, ecco un esempio di SymStore che elimina un file aggiunto da una transazione precedente. Vedere la sezione "The server.txt and history.txt Files" (File di server.txt e history.txt) di seguito per una spiegazione di come determinare l'ID transazione (in questo caso 0000000096).
symstore del /i 0000000096 /s \\MyDir\symsrv
File server.txt e history.txt
Quando viene aggiunta una transazione, vengono aggiunti diversi elementi di informazioni a server.txt e history.txt per funzionalità di ricerca future. Di seguito è riportato un esempio di riga in server.txt e history.txt per una transazione di aggiunta:
0000000096,add,ptr,10/09/99,00:08:32,Windows Vista SP 1,x86 fre 1.156c-RTM-2,Added from \\mybuilds\symbols,
Si tratta di una linea delimitata da virgole. I campi sono illustrati come segue:
| Campo | Descrizione |
|---|---|
0000000096 |
Numero ID transazione, come creato da SymStore. |
Aggiungere |
Tipo di transazione. Questo campo può essere aggiungere o del. |
ptr |
Indica se sono stati aggiunti file o puntatori. Questo campo può essere file o ptr. |
10/09/99 |
Data in cui si è verificata la transazione. |
00:08:32 |
Ora di avvio della transazione. |
Windows Vista SP 1 |
Prodotto. |
x86 fre |
Versione (facoltativa). |
Aggiunta da |
Commento (facoltativo) |
Inutilizzato |
(Riservato per un uso successivo). |
Ecco alcune righe di esempio del file di transazione 0000000096. Ogni riga registra la directory e il percorso del file o del puntatore aggiunto alla directory.
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
Se si utilizza una transazione del per annullare le transazioni originali di aggiunta , queste righe verranno rimosse da server.txte la riga seguente verrà aggiunta a history.txt:
0000000105,del,0000000096
I campi per la transazione di eliminazione sono descritti di seguito.
| Campo | Descrizione |
|---|---|
0000000105 |
Numero ID transazione, come creato da SymStore. |
del |
Tipo di transazione. Questo campo può essere aggiungere o del. |
0000000096 |
Transazione eliminata. |