Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы использовать SrcSrv с WinDbg, KD, NTSD или CDB, убедитесь, что установлена последняя версия пакета средств отладки для Windows (версия 6.3 или более поздняя). Затем добавьте текст srv* в исходный путь, разделенный точкой с запятой от любых каталогов, которые также находятся в исходном пути.
Рассмотрим пример.
.srcpath srv*;c:\someSourceCode
Если исходный путь задан, как показано в предыдущем примере, отладчик сначала использует SrcSrv для получения исходных файлов из расположений, указанных в файлах символов целевых модулей. Если SrcSrv не удается получить исходный файл, отладчик пытается получить его из c:\someSourceCode. Независимо от того, является ли srv* первым элементом пути или отображается позже, отладчик всегда использует SymSrv, прежде чем выполнять поиск других каталогов, перечисленных в пути.
Если исходный файл извлекается SrcSrv, он остается на жестком диске после завершения сеанса отладки. Исходные файлы хранятся локально в подкаталоге src домашнего каталога (в отличие от сервера символов, исходный сервер не указывает локальный кэш в самом синтаксисе srv* ). По умолчанию домашний каталог используется в каталоге средств отладки для Установки Windows; его можно изменить с помощью расширения !homedir или задания переменной среды DBGHELP_HOMEDIR. Если подкаталог src домашнего каталога еще не существует, он создается.
Отладка SrcSrv
Если возникли проблемы с извлечением исходных файлов из отладчика, запустите отладчик с параметром командной строки -n, чтобы просмотреть фактические команды извлечения источника вместе с выходными данными этих команд. Команда !sym шумно делает то же самое, но вы, возможно, уже пропустили важную информацию из предыдущих попыток извлечения. Это связано с тем, что отладчик прекращает попытки получить доступ к исходному коду из репозиториев управления версиями, которые оказываются недоступными.
Получение исходных файлов
Если вы используете команду .open (Открыть исходный файл) для открытия нового исходного файла через SrcSrv, необходимо включить параметр -m Address.
Чтобы упростить использование SrcSrv из средств, отличных от отладчиков, перечисленных ранее, API DbgHelp предоставляет доступ к функциям SrcSrv через функцию SymGetSourceFile . Чтобы получить имя извлекаемого исходного файла, вызовите функцию SymEnumSourceFiles или SymGetLineFromAddr64 . Дополнительные сведения об API DbgHelp см. в документации dbghelp.chm, которая находится в подкаталоге sdk/help каталога средств отладки для Windows или в библиотеке справки по отладке.
Использование AgeStore для уменьшения размера кэша
Все исходные файлы, скачанные SrcSrv , остаются на жестком диске после завершения сеанса отладки. Чтобы управлять размером исходного кэша, средство AgeStore можно использовать для удаления кэшированных файлов, которые старше указанной даты или для уменьшения содержимого кэша ниже указанного размера. Дополнительные сведения см. в статье AgeStore.