Hi,
I need the debug symbols for version 3.0. When I build from the source myself, I get the debug symbols but they do not match the assemblies that I have referenced via the NuGet package System.Reactive.
I understand that is because the assembly version attribute for the source code still reads v2.2.0.0 while the assemblies we reference if we download the NuGet package System.Reactive is version 3.0.0.0.
When I add the symbol server https://dotnet.myget.org/F/rx/symbols/, the symbol loading process returns a 404 from that Url.
Could you please either:
Or
Hi @Sathyaish, Symbols for all builds are available on this symbol server: https://dotnet.myget.org/F/rx/symbols/
HTTP requests made to that Url return a 404 as I mention in my original question. Could you please describe how I may use that Url? Presently, I added it to my "Symbol file (.pdb) locations" dialog in Tools -> Options -> Debugging -> Symbols.
When I look at the Modules window in the Visual Studio debugger while a debug session is on, and explicitly try to load symbol information for System.Reactive.Linq.dll by selecting "Symbol Load Information" from the context-menu, the "Symbol Load Information" dialog reports HTTP_NOT_FOUND against that Url.
@Sathyaish I just added the URL in VS2015 Update 3:

And I can resolve the symbols when debugging:

Could there be something different about your setup that I'm missing:
Hi @shiftkey ,
I am using Visual Studio Community 2015 and my project targets v4.5.2 of the .NET framework and I used the NuGet package manager to get v3.0 of the System.Reactive package.
I closed and restarted Visual Studio and it was able to download the debug symbols for Rx the next time from that Url.
However, it is still not able to step into the Rx source. For e.g. upon calling Subscribe on any observable, if I set a breakpoint on the call to Subscribe and press F11 to step into the source, it reports the following even though the location I am running my project from does not look anything like _C:\projects\rx-net..._ that it searches:
Locating source for 'C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs'. (No checksum.)
The file 'C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs' does not exist.
Looking in script documents for 'C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs'...
Looking in the projects for 'C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs'.
The file was not found in a project.
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cvt\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\msclr\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\sys\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\thr\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\amd64\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\arm\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\concrt\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\i386\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\linkopts\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\stl\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\vccorlib\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src\vcruntime\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\mfc\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\atl\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include\'...
Looking for source using source server...
The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs.
The debugger could not locate the source file 'C:\projects\rx-net\Rx.NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs'.
Likely related to #271.
@Sathyaish:
However, it is still not able to step into the Rx source.
If my guess is right, you might be confusing symbol server and source server. I do not think a source package for Rx.NET exists, but you can clone this repo at the correct tag and configure source search path in VS (or simply clone into C:\projects\rx-net\Rx.NET\ and you won't have to configure anything).
I am experiencing
"Install failed. Rolling back...
Package 'System.Reactive.Core.3.0.0 : System.Reactive.Interfaces [3.0.0, )' does not exist in project"
Any idea why it's failing on Reactive.Core.3.0.0 ?
Tim Miltz
@tfmiltz please open a new issue with more details about your setup, so we can investigate that further...
@onovotny, you're most likely right. The issue might very likely be related to #271. My set up is also VS Community 2015 Update 3.
@kkm000, I thought of the URL as being a symbol server url and added it to the Tools -> Options -> Debugging -> Symbols dialog. I've routinely stepped through other .NET assemblies this way.
I have a few questions I request answers to:
My guess is you're implying that I assumed that I could point Visual Studio to a location where the .NET source code files are, much like a Java programmer would tell Eclipse or NetBeans or what have you about the jar files that contained the Java source code? If that's what you implied, I wasn't trying to do that. At any rate, I'd like to know what a source server is.
and configure source search path in VS
Could you please elaborate on this? How do I configure VS to search source path? I assume this is related to question 1 above?
(or simply clone into C:\projects\rx-net\Rx.NET\ and you won't have to configure anything)
I am assuming you meant that if I didn't do anything except download and put the source in the folder C:\projects\rx-net\ where Visual Studio was complaining it didn't find it, the problem would go away? But why would I have to do that? I have never had to do anything like that before while stepping into PDB's for other .NET assemblies? I am guessing an elaboration of my questions 1 and 2 above might also answer this.
I don't know what a source server is.
There's two parts to this flow:
symsrv are how tools can retrieve symbols for a given version of a component (if published by the author).windbg and cdb and let you fetch the source code for given symbols (examples are backed by source control providers). These are both included with the Debugging Tools for Windows SDK, if you're not using Visual Studio.
Thanks very much, @shiftkey. This is very interesting. :-)
Closing this out as #271 is tracking the external details with VS2015 Update 3