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