Как получить больше информации от SRCSRV?

Я работаю над пользовательским символом / исходным сервером. Я был в состоянии произвести файлы pdb, которые ссылаются на наши источники. Большинство наших источников могут быть получены Visual Studio. Но иногда SRCSRV не может их получить.

Если я проверю окно вывода Visual Studio, я могу получить следующее сообщение

SRCSRV: Source server cannot retrieve the source code for file 'e:\SoftwareFactory\Projects\Product.Net Trunk\WorkingDirectory\Services\ErpWebServices\ErpServiceLegacyHost\Threading\ErpTransactionsSynchronizationContext.cs' in module 'C:\Program Files (x86)\Product\ProductCommon\ePgiStarterCS\server\Product.Erp.Services.LegacyHost.dll'. Données non valides.

Веб-сервер, на котором размещены источники, не получил ни одного запроса на такой файл. Так что это должно быть проблемой в записи, касающейся этого точного файла.

Есть ли способ получить больше информации по SRCSRV?

2 ответа

Решение

Видимо, ответ нет: нет способа получить больше информации от srcsrv.dll.

Модераторы форумов Microsoft сказали мне, что сообщение "Неправильные данные", "Неверные данные", возможно, связано с длиной пути файла, который нужно загрузить. Этот путь комбинируется с временным путем символа, который вы указали в настройках Visual Studio/WinDBG.

например, если вы указали

%APPDATA%\Symbols 

в качестве локального хранилища символов, и вы загружаете исходный файл, размещенный на сервере HTTP по адресу

http://nightlybuilds.int/sources/get.svc/path/file.cs

путь

%APPDATA%\Symbols\sources\get.svc\path\file.cs

не должен быть длиннее 255 символов.

Другие факторы, которые могут повлиять на поведение SRCSRV:

  • Наличие символов, недопустимых в классическом dos PATH (т.е. отличных от [0-9 A-Za-z\.])
  • Настройки отладчика клиента. (Например, в основном режиме символы для управляемого кода не будут загружены. В окне "Модули" появится подсказка о загруженных символах.)

Вот где SymChk может помочь. С использованием /v Переключатель, вы получите подробный вывод о том, как разрешаются символы и на что отвечает сервер символов. Используйте это вместе с таким инструментом, как Fiddler, который захватывает HTTP-трафик, и вы можете проанализировать, где ваш сервер не отвечает с ожидаемым протоколом.

Другие вопросы по тегам