How can I get a PDB file for the EntityFramework NuGet package?
entity-framework, entity-framework-6, pdb-files
Solution
Now with pictures (as it took me about an hour of trial and fail)
Get DotPeek from Jetbrains (Standalone version)
Open `DotPeek` -> `File` -> `Open` -> browse to your project `bin` folder and open `EntityFramework.dll`
Right mouse button on `EntityFramework` then choose `Generate Pdb...`
Go to folder where you exported it and open `EntityFramework.pdb` folder (I know right!) then dig deeper till you find a file `EntityFramework.pdb` and copy it to your `bin` folder (next to `EntityFramework.dll`).
Go to `Visual Studio` -> `DEBUG` -> `Options and Settings...` -> `Symbols` then add your `bin` folder to `Symbol file (.pdb) locations`
- Run project and pray those breakpoints turn ripe red....
Edit: It sometimes starts running EF in `optimized` mode that renders debugging pretty much useless which is a whole point of this question - if this happens
- Go to `Visual Studio` -> `Debug` -> `General` -> (at the very bottom) `Use Managed Compatibility Mode`. Tick and Run project (if it gets optimized then untick and run, then tick again and run, then ....)
- To see if `EF` runs optimized without having to wait till it hits breakpoint Go to `Visual Studio` -> `Debug` -> `Windows` -> `Modules`. Then when you run solution modules (2) should appear. Click it and find `EntityFramework.dll` there should be column that says Optimized(`Yes` = bad, `No` = you can debug it).
Hope this saves you some time.
Problem
I'm trying to debug a StackOverflow in the EntityFramework NuGet package (version 6.1.3). In order to see the stack frames I need the PDB file for EntityFramework.DLL and EntityFramework.SqlServer.DLL. However, I can't seem to get Visual Studio to download this from either the MSFT symbol sources or from SymbolSource.org (I can get other System PDBs and things like NewtonSoft.json). Are the EF PDBs available anywhere?