Problem navigation to sources (external pdb files from myget)

Answered

Hi!

When I try to navigate to sources (which are fetched from myget) I get the following error:

PdbNavigator: Downloader: https://www.myget.org/F/mythology/auth/removedauthcode/symbols/Findwise.Charon.Data.Sql.pdb/538FF05B5BB44F83B8473BA2AFE9299D1/Findwise.Charon.Data.Sql.pd_ -> ok, 79,5 KB
PdbNavigator: Can't extract C:\Users\JENS~1.BEN\AppData\Local\Temp\SymbolCache\Findwise.Charon.Data.Sql.pdb\538FF05B5BB44F83B8473BA2AFE9299D1\Findwise.Charon.Data.Sql.pd_: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Microsoft.Deployment.Compression.Cab.Errors.resources" was correctly embedded or linked into assembly "Microsoft.Deployment.Compression.Cab" at compile time, or that all the satellite assemblies required are loadable and fully signed.
PdbNavigator: No debugging information found on symbol servers for Findwise.Charon.Data.Sql, Version=1.0.179.0, Culture=neutral, PublicKeyToken=null

I can't figure out what the problem is, any help would be appreciated. 

24 comments
Comment actions Permalink

Hello Jens,

Are you able to send me this "Findwise.Charon.Data.Sql.pd_" file? 

Thanks! 

0
Comment actions Permalink

Jens, thanks for the file.

Looks like we found the root of the issue. www.myget.org returns "pd_" file, which should be a compressed "pdb" file, but this file is not compressed one, it is a simple pdb but with changed extension, so when ReSharper runs "Microsoft.Deployment.Compression.Cab" to decompress the file - the exception happens. We are going to add some logic to check this case and not to fail when "pd_" file is not compressed one.

My apologies for the inconvenience. 

Thanks! 

0
Comment actions Permalink

FYI MyGet will also deploy a fix early next week.

0
Comment actions Permalink

Thanks for answering and for trying to provide a solution in a future update! Seems like it's not really your fault either. :)

I submitted a ticket to myget with the issue as well. 

 

0
Comment actions Permalink

Ah, I e-mailed myget and replied before reading your reply!

0
Comment actions Permalink

Got the same issue now, will wait for the MyGet fix...

0
Comment actions Permalink

MyGet now has the fix live

0
Comment actions Permalink

Now it downloads the PDB file but I still end up with decompiled source

PdbNavigator: Downloader: https://www.myget.org/F/mythology/auth/removed/symbols/Findwise.Styx.Admin.WebUI.pdb/3A2125ACD9C6476A92E11D89C899219C1/Findwise.Styx.Admin.WebUI.pd_ -> The remote server returned an error: (404) Not Found.
PdbNavigator: Downloader: https://www.myget.org/F/mythology/auth/removed/symbols/Findwise.Styx.Admin.WebUI.pdb/3A2125ACD9C6476A92E11D89C899219C1/Findwise.Styx.Admin.WebUI.pdb -> ok, 537 KB
PdbNavigator: Searching for 'Findwise.Styx.Admin.WebUI.Infrastructure.CastleIntegration.Installers.ApplicationServicesInstaller' type sources in C:\Users\JENS~1.BEN\AppData\Local\Temp\SymbolCache\Findwise.Styx.Admin.WebUI.pdb\3A2125ACD9C6476A92E11D89C899219C1\Findwise.Styx.Admin.WebUI.pdb
PdbNavigator: No sources found in debugging information for 'Findwise.Styx.Admin.WebUI.Infrastructure.CastleIntegration.Installers.ApplicationServicesInstaller' in assembly 'Findwise.Styx.Admin.WebUI, Version=1.7.118.0, Culture=neutral, PublicKeyToken=null'

 

But there are source uploaded:

0
Comment actions Permalink

Would love to get some insight into why this isn't working.

0
Comment actions Permalink

Hello Jens,

Please share this pdb file with us. 

Thanks! 

0
Comment actions Permalink

Jens,

Thanks for pdb file, we downloaded it, so you may remove it from https://www.sugarsync.com site.

Thanks! 

0
Comment actions Permalink

Seems like it has been fixed in R# 2016.3 EAP builds.

0
Comment actions Permalink

We have the same issue. Also, I have an exception in RabbitMq.Client and using Historic debugging I can see the source code (coming from some pdb file) but F12 never works, R# always uses dotPeek and cannot use any external sources at all. Using 2016.2.2

0
Comment actions Permalink

I can confirm that 2016.3 RC has the MyGet pdb issue resolved.

0
Comment actions Permalink

I'm having this issue again:

PdbNavigator: Downloader: https://www.myget.org/F/netcore-mythology/auth//symbols/Findwise.Mythology.Charon.Core.pdb/D70EDC33A8EB40DDA851E80F845292F91/Findwise.Mythology.Charon.Core.pd_ -> The remote server returned an error: (404) Not Found.
PdbNavigator: Downloader: https://www.myget.org/F/netcore-mythology/auth//symbols/Findwise.Mythology.Charon.Core.pdb/D70EDC33A8EB40DDA851E80F845292F91/Findwise.Mythology.Charon.Core.pdb -> ok, 20,5 KB
PdbNavigator: Searching for 'Findwise.Mythology.Charon.Core.ApplicationServices.Implementations.CharonProcessInformationCollector' type sources in C:\Users\JENS~1.BEN\AppData\Local\Temp\SymbolCache\Findwise.Mythology.Charon.Core.pdb\Findwise.Mythology.Charon.Core.pdb
PdbNavigator: No sources found in debugging information for 'Findwise.Mythology.Charon.Core.ApplicationServices.Implementations.CharonProcessInformationCollector' in assembly 'Findwise.Mythology.Charon.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

 

0
Comment actions Permalink

Looks like a netstandard2.0 assembly - the PDB may indeed not contain any sources. If it's a Portable PDB (https://github.com/dotnet/core/blob/master/Documentation/diagnostics/portable_pdb.md), it may not contain a link to the relevant source files.

You could use SourceLink to add sources to the PDB. Other option is to build Windows PDB's by setting these two properties in your project file?

<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
0
Comment actions Permalink

So the fact that the code is browsable on myget doens't mean it contains debuggable source?

0
Comment actions Permalink

Correct, although it depends on the PDB. Feel free to send it over to MyGet support and we will have a look at it.

0
Comment actions Permalink

That's indeed a Portable PDB. You can compile with Windows PDB using the above info, or checkout SourceLink and use that to provide the "missing link".

0
Comment actions Permalink

Thank you for your help. 

 

Do I understand SourceLink correclty that you either have the code available in an open git repository (e.g. github) or you embed the debuginfo with the DLL?

0
Comment actions Permalink

That is correct, right now. I believe NuGet is working with the .NET Core folks on making that a bit better (e.g. other servers). Feel free to chime in here (https://github.com/NuGet/Home/issues/6104) and tell them how you would like to see this!

0

Please sign in to leave a comment.