Другие библиотеки DLL сервера символов
Если вы хотите использовать другой метод для поиска символов, вы можете предоставить собственную библиотеку DLL сервера символов, а не SymSrv.
Задание пути к символам
При реализации сервера символов, отличного от SymSrv, путь к символам отладчика задается так же, как и в SymSrv. Описание синтаксиса пути к символам см. в разделах Microsoft Public Symbols и Advanced SymSrv Use . Единственное необходимое изменение — заменить строку symsrv.dll именем собственной библиотеки DLL сервера символов.
При желании вы можете использовать другой синтаксис в параметрах, чтобы указать использование различных технологий, таких как UNC-пути, идентификаторы базы данных SQL или спецификации Интернета.
Реализация собственного сервера символов
Один из подходов заключается в использовании кода, который взаимодействует с DbgHelp для поиска символов. Каждый раз, когда DbgHelp требует символов для вновь загруженного модуля, он вызывает сервер символов для поиска соответствующих файлов символов. Сервер символов находит каждый файл в соответствии с уникальными параметрами, такими как метка времени или размер изображения. Сервер возвращает проверенный путь к запрошенным файлам.
Не следует изменять фактическое имя файла символов, возвращаемое сервером символов. DbgHelp хранит имя файла символов в нескольких расположениях. Поэтому сервер должен вернуть файл с тем же именем, что и при запросе символа. Это ограничение необходимо, чтобы гарантировать, что имена символов, отображаемые во время загрузки символов, будут распознаваться программистом.
Ограничения на несколько серверов символов
DbgHelp поддерживает использование только одного сервера символов за раз. Путь к символам может содержать несколько экземпляров одной библиотеки DLL сервера символов, но не две разные библиотеки DLL сервера символов. Это ограничение не является большим, так как вы по-прежнему можете включать несколько экземпляров сервера символов в путь к символам, каждый из которых указывает на другое хранилище символов. Но если вы хотите переключаться между двумя разными библиотеками DLL сервера символов, вам придется каждый раз менять путь к символам.
Установка библиотеки DLL пользовательского сервера символов
Сведения об установке сервера символов будут зависеть от вашей ситуации. Вы можете настроить процесс установки, который копирует библиотеку DLL сервера символов и автоматически задает переменную среды _NT_SYMBOL_PATH.
В зависимости от технологии, используемой на сервере, также может потребоваться установить или получить доступ к самим данным символов.
Переносимая PDB-база данных (база данных программы)
Формат переносимого PDB (база данных программы) описывает кодировку отладочную информацию, созданную компиляторами языков CLI и используемой отладчиками и другими средствами. Формат основан на стандарте метаданных раздела II ECMA-335. Он поддерживает работу в разных операционных системах и платформах. Дополнительные сведения см. в разделе Переносимые символы PDB.
Пользовательские хранилища символов и серверы символов
Сведения о создании пользовательских серверов символов см. в разделе Пользовательские хранилища символов и серверы символов.