0
votes

I need to set up a .Net symbol server for debugging internal nuget packages, we do not want to publish either the nuget packages or the debug symbols to a public repo. We currently use Artifactory 4 for hosting our internal nuget repos, so I'd like to use that to host a symbol server as well.

I've read through this guide https://www.jfrog.com/confluence/display/RTF4X/Microsoft+Symbol+Server and have a few queries:

  • We don't use IIS, fine, I could convert that 'how to do a virtual directory' to our web server, but why does it need to be done that way? Why can't I just setup a new nuget repository and put our symbol packages in there?
  • .Net is not my speciality. I have tried generating a nuget package with the -symbols option which generates me a .symbols.nupkg with what looks like the correct content. I then tried just adding this to a new nuget repo and although I can see in the artifactory logs that visual studio is requesting that debug package I end up with a file in my local symbol cache FailedLoads directory saying it can't find the .pdb for my package.
  • If I tell MSBuild to generate debug symbols, I get a whole directory structure containing some GUIDs and then my dll and pdb files. Totally different to the nuget symbols package. What is the 'correct' way and does which way I use impact how I access those symbols for debugging?
1

1 Answers

0
votes

Without source code VS are not able to debug it no matter it's Nuget packaget or .NET Framework dll.

Pdb file only contains debug information which is like mapping between executable code and your source code. With pdb VS debugger knows where in source files each instruction is located, but it still needs to have source files to show you the code.

When it cannot find source file VS debugger will show dialog box to browse for the source file. So without source code, VS cannot debug it properly.