Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каждый вызов SymStore записывается как транзакция. Существует два типа транзакций: добавление и удаление.
При создании хранилища символов каталог с именем "000admin" создается под корнем сервера. Каталог 000admin содержит один файл для каждой транзакции, а также файлы журнала server.txt и history.txt. Файл server.txt содержит список всех транзакций, которые сейчас находятся на сервере. Файл history.txt содержит хронологическую историю всех транзакций.
Каждый раз, когда SymStore сохраняет или удаляет файлы символов, создается новый номер транзакции. Затем файл, имя которого является этим номером транзакции, создается в 000admin. Этот файл содержит список всех файлов или указателей, добавленных в хранилище символов во время этой транзакции. Если транзакция удаляется, SymStore считывает его файл транзакции, чтобы определить, какие файлы и указатели следует удалить.
Параметры добавления и del указывают, должна ли выполняться транзакция добавления или удаления. Включение параметра /p с операцией добавления указывает, что нужно добавить указатель; Не указывая параметр /p , указывает, что нужно добавить фактический файл символов.
Кроме того, можно создать хранилище символов на двух отдельных этапах. На первом этапе используется SymStore с параметром /x для создания файла индекса. На втором этапе используется SymStore с параметром /y для создания фактического хранилища файлов или указателей из сведений в файле индекса.
Это может быть полезный метод по различным причинам. Например, это позволяет легко воссоздать хранилище символов, если хранилище каким-то образом потеряно, если файл индекса по-прежнему существует. Или, возможно, компьютер, содержащий файлы символов, имеет медленное сетевое подключение к компьютеру, на котором будет создано хранилище символов. В этом случае можно создать файл индекса на том же компьютере, что и файлы символов, перенести файл индекса на второй компьютер, а затем создать хранилище на втором компьютере.
Полный список всех параметров SymStore см. в разделе "Параметры SymStore Command-Line".
Заметка SymStore не поддерживает одновременные транзакции от нескольких пользователей. Рекомендуется назначить одного пользователя администратором хранилища символов и отвечать за все операции добавления и del транзакций.
Примеры транзакций
Ниже приведены два примера добавления символьных указателей для сборки 2195 Windows 2000 в \\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"
В следующем примере SymStore добавляет фактические файлы символов для проекта приложения в \\largeapp\appserver\bins в \\MyDir\symsrv:
symstore add /r /f \\largeapp\appserver\bins\*.* /s \\MyDir\symsrv /t "Large Application" /v "Build 432" /c "Sample add"
Ниже приведен пример использования файла индекса. Во-первых, SymStore создает файл индекса на основе коллекции файлов символов в \\largeapp\appserver\bins\. В этом случае файл индекса помещается на третий компьютер, \\hubserver\hubshare. Параметр /g позволяет указать, что префикс файла "\\largeapp\appserver" может измениться в будущем:
symstore add /r /p /g \\largeapp\appserver /f \\largeapp\appserver\bins\*.* /x \\hubserver\hubshare\myindex.txt
Теперь предположим, что вы перемещаете все файлы символов с компьютера \\largeapp\appserver и помещаете их в \\myarchive\appserver. Затем можно создать само хранилище символов из файла индекса \\hubserver\hubshare\myindex.txt следующим образом:
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"
Наконец, ниже приведен пример удаления файла SymStore, добавленного предыдущей транзакцией. В разделе "Файлы server.txt и history.txt" описано, как определить идентификатор транзакции (в данном случае 0000000096).
symstore del /i 0000000096 /s \\MyDir\symsrv
Файлы server.txt и history.txt
При добавлении транзакции несколько элементов информации добавляются в server.txt и history.txt для будущих возможностей поиска. Ниже приведен пример строки в server.txt и history.txt для добавления транзакции:
0000000096,add,ptr,10/09/99,00:08:32,Windows Vista SP 1,x86 fre 1.156c-RTM-2,Added from \\mybuilds\symbols,
Это строка, разделенная запятыми. Поля описаны следующим образом:
| Поле | Описание |
|---|---|
0000000096 |
Номер идентификатора транзакции, созданный SymStore. |
добавить |
Тип транзакции. Это поле может быть добавлено или del. |
птр |
Добавлены ли файлы или указатели. Это поле может быть файлом или ptr. |
10/09/99 |
Дата возникновения транзакции. |
00:08:32 |
Время начала транзакции. |
Windows Vista с пакетом обновления 1 (SP 1) |
Продукт. |
x86 fre |
Версия (необязательно). |
Добавлено из |
Комментарий (необязательно) |
Неиспользованный |
(Зарезервировано для последующего использования.) |
Ниже приведены некоторые примеры строк из файла транзакций 0000000096. Каждая строка записывает каталог и расположение файла или указателя, добавленного в каталог.
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
При использовании транзакции del для отмены исходных транзакций добавления эти строки будут удалены из server.txt, а следующая строка будет добавлена в history.txt:
0000000105,del,0000000096
Поля для транзакции удаления описаны следующим образом.
| Поле | Описание |
|---|---|
0000000105 |
Номер идентификатора транзакции, созданный SymStore. |
del |
Тип транзакции. Это поле может быть добавлено или del. |
0000000096 |
Удаленная транзакция. |