Describe the project you are working on
The Godot editor 🙂
Describe the problem or limitation you are having in your project
For the sake of small file sizes and optimization, official builds are stripped from their debugging symbols and have link-time optimization enabled. Unfortunately, LTO is currently incompatible with accurate debugging symbols (like some optimizations found at the -O2 level in general).
While optimized builds are fast, they're impractical to use for debugging as their backtraces aren't useful.
I currently distribute builds with full debugging information in this repository, but an official solution will likely scale better over time.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
To ease troubleshooting of crashes and other difficult-to-diagnose issues, we should distribute official builds that are built with the debug target and contain full debugging symbols, especially for Windows where compiling is more difficult.
Windows debug builds should preferably be compiled with MSVC so people can use the Visual Studio Debugger or WinDbg. (It would be possible to build them with MinGW and tell people to use gdb, but that might not be accepted as much.)
Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams
Create and distribute builds with debugging symbols on the official Godot download mirrors.
These builds could be referenced on the website under a single link for all platforms on the Download page. (Most people won't need those builds, so these shouldn't be made too prominent.)
Since these builds are slower and significantly larger, these should only be used for debugging purposes. There should be a disclaimer stating these shouldn't be used in a production environment.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, as this is related to official build distribution.
Is there a reason why this should be core and not an add-on in the asset library?
This is about making official builds.
See also #1341.
Describe the project you are working on
The Godot editor 🙂
Describe the problem or limitation you are having in your project
For the sake of small file sizes and optimization, official builds are stripped from their debugging symbols and have link-time optimization enabled. Unfortunately, LTO is currently incompatible with accurate debugging symbols (like some optimizations found at the
-O2level in general).While optimized builds are fast, they're impractical to use for debugging as their backtraces aren't useful.
I currently distribute builds with full debugging information in this repository, but an official solution will likely scale better over time.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
To ease troubleshooting of crashes and other difficult-to-diagnose issues, we should distribute official builds that are built with the
debugtarget and contain full debugging symbols, especially for Windows where compiling is more difficult.Windows debug builds should preferably be compiled with MSVC so people can use the Visual Studio Debugger or WinDbg. (It would be possible to build them with MinGW and tell people to use gdb, but that might not be accepted as much.)
Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams
Create and distribute builds with debugging symbols on the official Godot download mirrors.
These builds could be referenced on the website under a single link for all platforms on the Download page. (Most people won't need those builds, so these shouldn't be made too prominent.)
Since these builds are slower and significantly larger, these should only be used for debugging purposes. There should be a disclaimer stating these shouldn't be used in a production environment.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, as this is related to official build distribution.
Is there a reason why this should be core and not an add-on in the asset library?
This is about making official builds.
See also #1341.