Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cada chamada para SymStore é registrada como uma transação. Existem dois tipos de transações: adicionar e excluir.
Quando o repositório de símbolos é criado, um diretório, chamado "000admin", é criado sob a raiz do servidor. O diretório 000admin contém um arquivo para cada transação, bem como os arquivos de log server.txt e history.txt. O arquivo server.txt contém uma lista de todas as transações que estão atualmente no servidor. O arquivo history.txt contém um histórico cronológico de todas as transações.
Cada vez que SymStore armazena ou remove arquivos de símbolos, um novo número de transação é criado. Em seguida, um arquivo, cujo nome é esse número de transação, é criado em 000admin. Este arquivo contém uma lista de todos os arquivos ou ponteiros que foram adicionados ao armazenamento de símbolos durante esta transação. Se uma transação for excluída, o SymStore lerá seu arquivo de transação para determinar quais arquivos e ponteiros ele deve excluir.
As opções adicionar e del especificam se uma transação de adição ou exclusão deve ser executada. Incluir a opção /p com uma operação de adição especifica que se deve adicionar um ponteiro; omitir a opção /p especifica que se deve adicionar o ficheiro de símbolo real.
Também é possível criar a loja de símbolos em duas etapas separadas. Na primeira etapa, você usa SymStore com a opção /x para criar um arquivo de índice. Na segunda etapa, você usa SymStore com a opção /y para criar o armazenamento real de arquivos ou ponteiros a partir das informações no arquivo de índice.
Esta pode ser uma técnica útil por uma variedade de razões. Por exemplo, isso permite que o repositório de símbolos seja facilmente recriado se o armazenamento for perdido de alguma forma, desde que o arquivo de índice ainda exista. Ou talvez o computador que contém os arquivos de símbolo tenha uma conexão de rede lenta com o computador no qual o armazenamento de símbolos será criado. Nesse caso, você pode criar o arquivo de índice na mesma máquina que os arquivos de símbolo, transferir o arquivo de índice para a segunda máquina e, em seguida, criar o armazenamento na segunda máquina.
Para obter uma lista completa de todos os parâmetros do SymStore, consulte Opções de Command-Line do SymStore.
Observação SymStore não suporta transações simultâneas de vários usuários. Recomenda-se que um utilizador seja designado "administrador" da loja de símbolos e seja responsável por todas as transações de adição e remoção.
Exemplos de transações
Aqui estão dois exemplos de SymStore adicionando referências de símbolos da compilação 2195 do Windows 2000 na \\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"
No exemplo a seguir, SymStore adiciona os ficheiros de símbolos reais para um projeto de aplicação em \\largeapp\appserver\bins no \\MyDir\symsrv:
symstore add /r /f \\largeapp\appserver\bins\*.* /s \\MyDir\symsrv /t "Large Application" /v "Build 432" /c "Sample add"
Aqui está um exemplo de como um arquivo de índice é usado. Primeiro, o SymStore cria um arquivo de índice com base na coleção de arquivos de símbolo em \\largeapp\appserver\bins\. Nesse caso, o arquivo de índice é colocado em um terceiro computador, \\hubserver\hubshare. Use a opção /g para especificar que o prefixo do arquivo "\\largeapp\appserver" pode mudar no futuro:
symstore add /r /p /g \\largeapp\appserver /f \\largeapp\appserver\bins\*.* /x \\hubserver\hubshare\myindex.txt
Agora suponha que você mova todos os arquivos de símbolo da máquina \\largeapp\appserver e coloque-os em \\myarchive\appserver. Em seguida, você pode criar o próprio armazenamento de símbolos a partir do arquivo de índice \\hubserver\hubshare\myindex.txt da seguinte maneira:
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"
Finalmente, aqui está um exemplo de SymStore excluindo um arquivo adicionado por uma transação anterior. Consulte a seção "The server.txt and history.txt Files" abaixo para obter uma explicação de como determinar o ID da transação (neste caso, 0000000096).
symstore del /i 0000000096 /s \\MyDir\symsrv
Os arquivos server.txt e history.txt
Quando uma transação é adicionada, vários itens de informação são adicionados ao server.txt e history.txt para a capacidade de pesquisa futura. Segue um exemplo de uma linha em (server.txt) e (history.txt) para uma transação de adição.
0000000096,add,ptr,10/09/99,00:08:32,Windows Vista SP 1,x86 fre 1.156c-RTM-2,Added from \\mybuilds\symbols,
Esta é uma linha separada por vírgula. Os campos são explicados da seguinte forma:
| Campo | Descrição |
|---|---|
0000000096 |
Número de ID da transação, conforme criado pela SymStore. |
adicionar |
Tipo de transação. Este campo pode ser adicionar ou del. |
ptr |
Se foram adicionados ficheiros ou ponteiros. Este campo pode ser arquivo ou ptr. |
10/09/99 |
Data em que a transação ocorreu. |
00:08:32 |
Hora em que a transação começou. |
Windows Vista SP 1 |
Produto. |
x86 fre |
Versão (opcional). |
Adicionado de |
Comentário (opcional) |
Não utilizado |
(Reservado para uso posterior.) |
Aqui estão algumas linhas de exemplo do arquivo de transação 0000000096. Cada linha registra o diretório e o local do arquivo ou ponteiro que foi adicionado ao diretório.
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 você usar uma transação del para desfazer o original adicionar transações, essas linhas serão removidas do server.txte a seguinte linha será adicionada a history.txt:
0000000105,del,0000000096
Os campos para a transação de exclusão são descritos a seguir.
| Campo | Descrição |
|---|---|
0000000105 |
Número de ID da transação, conforme criado pela SymStore. |
del |
Tipo de transação. Este campo pode ser adicionar ou del. |
0000000096 |
Transação que foi excluída. |