Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace RelWithDebInfo builds with Release builds #3040

Merged
merged 1 commit into from
Aug 18, 2024

Conversation

Semphriss
Copy link
Member

RelWithDebInfo include debug data separately from the executable code, which needs a debugger to be interpreted properly.

The debug data does not affect stack traces generated by the program itself, but increases the executable by more than 100Mb, which is wasted if the user does not intent to run the exectuable inside a debugger.

…uperTux#2963)"

This reverts commit 7302e4b.

RelWithDebInfo include debug data separately from the executable, which needs
a debugger to be interpreted properly. The debug data does not affect stack
traces generated by the program itself, but increases the executable by more
than 100Mb, which is wasted if the user does not intent to run the exectuable
inside a debugger.
@tobbi
Copy link
Member

tobbi commented Aug 9, 2024

Okay, I admit I had no idea what I'm doing. Any idea how to get proper symbol names on stack unwinding when Tux has swallowed a bad fish can?

Or is that a no-can-do?

@MatusGuy
Copy link
Member

MatusGuy commented Aug 9, 2024

On windows I just needed to add a few things and package the pdb file for supertux2.exe. I already implemented this at #2987

@tobbi
Copy link
Member

tobbi commented Aug 9, 2024

On windows I just needed to add a few things and package the pdb file for supertux2.exe

So for Windows this is already done? How about MacOS or Linux?

@MatusGuy
Copy link
Member

MatusGuy commented Aug 9, 2024

SuperTuxKart has an implementation for what you are talking about at https://github.com/supertuxkart/stk-code/blob/master/src/utils/crash_reporting.cpp

@Semphriss
Copy link
Member Author

On Linux at least, it looks like a copy-paste of addr2line, which is already available on most developer systems that use GCC.

I don't think there is any need to ship debug data, since everything can be obtained locally from the mangled data using local tools like addr2line or, preferably, GDB. (You can grab a mangled crash report from a user's Release build and use a local RelWithDebInfo build in GDB to get the file and line info.)

@tobbi tobbi merged commit f432274 into SuperTux:master Aug 18, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants