![]() In the following example, SymStore adds the actual symbol files for an application project in \\largeapp\appserver\bins to \\testdir\symsrv: symstore add /r /f \\largeapp\appserver\bins\*.* /s \\testdir\symsrv s \\sampledir\symsrv /t "Windows Server 2003" /v "Build 3790 x86 checked" Symstore add /r /p /f \\BuildServer\BuildShare\3790Chk\symbols\*.* s \\sampledir\symsrv /t "Windows Server 2003" /v "Build 3790 x86 free" Here are two examples of SymStore adding symbol pointers for build 3790 of Windows Server 2003 to \\sampledir\symsrv: symstore add /r /p /f \\BuildServer\BuildShare\3790free\symbols\*.* It is recommended that one user be designated "administrator" of the symbol store and be responsible for all add and del transactions. SymStore does not support simultaneous transactions from multiple users. In this case, you can create the index file on the same machine as the symbol files, transfer the index file to the second machine, and then create the store on the second machine.įor a full listing of all SymStore parameters, see SymStore Command-Line Options. Or perhaps the computer containing the symbol files has a slow network connection to the computer on which the symbol store will be created. ![]() ![]() For instance, this allows the symbol store to be easily recreated if the store is somehow lost, as long as the index file still exists. This can be a useful technique for a variety of reasons. In the second stage, you use SymStore with the /y option to create the actual store of files or pointers from the information in the index file. In the first stage, you use SymStore with the /x option to create an index file. It is also possible to create the symbol store in two separate stages. Including the /p option with an add operation specifies that a pointer is to be added omitting the /p option specifies that the actual symbol file is to be added. The add and del options specify whether an add or delete transaction is to be performed. If a transaction is deleted, SymStore will read through its transaction file to determine which files and pointers it should delete. This file contains a list of all the files or pointers that have been added to the symbol store during this transaction. Then, a file, whose name is this transaction number, is created in 000admin. The History.txt file contains a chronological history of all transactions.Įach time SymStore stores or removes symbol files, a new transaction number is created. The Server.txt file contains a list of all transactions that are currently on the server. ![]() The 000admin directory contains one file for each transaction, as well as the log files Server.txt and History.txt. When the symbol store is created, a directory, called "000admin", is created under the root of the server. There are two types of transactions: add and delete. SymStore TransactionsĮvery call to SymStore is recorded as a transaction. pdb symbol files (for example, public and private versions) cannot be stored on the same server, because they each contain the same signature and age. The advantage of the symbol store over the traditional symbol storage format is that all symbols can be stored or referenced on the same server and retrieved by the debugger without any prior knowledge of which product contains the corresponding symbol. dbg or executable file), or signature and age (for a. SymStore stores symbols in a format that enables the debugger to look up the symbols based on the time stamp and size of the image (for a. It is included in the Debugging Tools for Windows package. SymStore (symstore.exe) is a tool for creating symbol stores.
0 Comments
Leave a Reply. |