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

macOS debug / checked builds don't have full debug info #32957

Closed
janvorli opened this issue Feb 28, 2020 · 0 comments · Fixed by #34076
Closed

macOS debug / checked builds don't have full debug info #32957

janvorli opened this issue Feb 28, 2020 · 0 comments · Fixed by #34076
Labels
area-Diagnostics-coreclr untriaged New issue has not been triaged by the area owner
Milestone

Comments

@janvorli
Copy link
Member

While helping @fadimounir to debug a core dump on macOS, I've found that our checked and debug binaries built in the coreclr repo don't contain full debug symbols like source code info. After looking into it, I've found that it was that way probably forever. The problem is caused by the behavior of linker on macOS. When the compilation and linking steps are separate, the linker doesn't copy the debug info from the object files into the final binary. It is needed to use the dsymutil tool on the final binary tot extracts the debug info from the original object files into a separate symbol file. There seems to be no way to embed them into the final binary like it happens on Linux.
We run the dsymutil in release builds to extract the debug info into separate files before we strip all of the symbols from the binaries. We need to do the same thing for debug and checked builds too.

@janvorli janvorli added this to the 5.0 milestone Feb 28, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Feb 28, 2020
akoeplinger pushed a commit that referenced this issue Mar 25, 2020
Symbol stripping is on by default in cmake scripts. This cleans up the remaining places where the no-op `-stripsymbols` option is passed from shell scripts via `.proj` files.

Fixes #32957
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Diagnostics-coreclr untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants