We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 4309

Summary: Symbols not available for prebuilt SDL binaries
Product: SDL Reporter: Cameron Gutman <cameron.gutman>
Component: buildAssignee: Sam Lantinga <slouken>
Status: RESOLVED WONTFIX QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2    
Version: 2.0.9   
Hardware: All   
OS: Windows 10   
Attachments: Save PDBs in windows-buildbot-zipper.bat

Description Cameron Gutman 2018-10-13 04:44:35 UTC
Created attachment 3369 [details]
Save PDBs in windows-buildbot-zipper.bat

Having PDBs (and DSYMs for Mac) are very useful for debugging crash dumps and basically essential for getting useful data out of the Windows Desktop Analytics program (https://docs.microsoft.com/en-us/windows/desktop/appxpkg/windows-desktop-application-program) since you only get stacktraces in the majority of crashes (symbolicated by Microsoft using PDBs that you upload to their portal). I'd prefer not to have to build my own SDL binaries just to get symbols for debugging.

Although I'm not sure exactly how your release builds are made, I found a script that seems potentially relevant and updated it to copy PDBs into the zip along with the .dll and .lib files. The patch is attached.
Comment 1 Sam Lantinga 2018-11-03 00:04:37 UTC
Official builds are built with mingw-64, which doesn't generate PDB files.
Comment 2 Cameron Gutman 2018-11-03 00:22:16 UTC
OK, fortunately SDL isn't hard to build, so I'll just ship my own MSVC builds with symbols.

In the long term, I think it would be nice though to move to MSVC as the default compiler for official Windows builds, since it has more advanced platform security and performance features like Control Flow Guard, Whole Program Optimization, plus PDBs of course. I don't know how many developers use those builds vs. the ones provided in Steam vs. local builds though.