How to get more information from SRCSRV?

I am working on a custom symbol / source server. I was able to create pdb files that link to our sources. Most of our sources can be obtained from Visual Studio. But sometimes SRCSRV cannot restore them.

If I check the Visual Studio output window, I can get the following message

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. 

The web server where the sources are located has not received any request for such a file. So this should be a problem in writing regarding this exact file.

Is there a way to get more information on SRCSRV?

+4
source share
2 answers

The answer seems to be negative: there is no way to get more information from srcsrv.dll.

Microsoft forum moderators told me that the message "Données non valides", "Invalid data" is possibly related to the length of the path to the file to be downloaded. This path is combined with the temporary path type specified in the Visual Studio / WinDBG settings.

eg. If you indicated

 %APPDATA%\Symbols 

as a repository of local characters, and you download the source file hosted on the HTTP server at

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

way

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

must not exceed 255 characters.

Other factors that may affect the behavior of SRCSRV:

  • The presence of characters that are not allowed in the classic dos PATH (that is, except for [0-9 A-Za-z \.])
  • Client debugger settings. (for example, in Native mode, characters for Managed code will not be loaded. The Modules window will give you some hint of the loaded characters.)
+2
source

Here, SymChk can help. Using the /v switch, you get detailed output about how characters are allowed and what the character server responds to. Use this in combination with a tool like Fiddler , which captures HTTP traffic, and you can analyze where your server does not meet the expected protocol.

+1
source

Source: https://habr.com/ru/post/1494921/


All Articles