On the net I find ways to symbolicate this using a dsym file from the release, but the xcode projects created by Projucer does not create a dsym file as far as I can tell.
Is there a way to symbolicate the trace ?
Did you get any further with this? I’ve found that adding the following to the Release config Custom Xcode Flags field in the the Projucer generates the dSYM file(s): DEBUG_INFORMATION_FORMAT=dwarf-with-dsym, COPY_PHASE_STRIP=YES, GCC_GENERATE_DEBUGGING_SYMBOLS=YES
I had been turning on the Projucer setting “Debugging enabled” for the “Debug mode” property. This also enables GCC_GENERATE_DEBUGGING_SYMBOLSbut it’s not ideal as it changes other things too. (For example, in a plug-in build inlcuding AAX it links to the Debug version of AAX rather than Release.)
Hi
I added this to the release build:
GCC_GENERATE_DEBUGGING_SYMBOLS = YES, GCC_DEBUGGING_SYMBOLS = full, DEBUG_INFORMATION_FORMAT = dwarf-with-dsym, DWARF_DSYM_FILE_NAME = “(PRODUCT_NAME).dSYM", DWARF_DSYM_FOLDER_PATH = "(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_FOLDER_PATH)”
On macOS we’re able to symbolicate easily by keeping the .dSYM files generated.
In our Xcode Exporter:
Xcode (MacOSX)
Strip local symbols - CHECKED
That’s it… for release.
Your dSYM files will be at: <project_folder>/Builds/MacOSX/build/Release
To symbolicate the release builds make sure you’re using the exact build <> symbols (can be checked against their GUID).
The simple but functional way is using atos providing it the binary that the crash was generated from and the dSYM at the same path showing it the binary and adding the memory load address and then each address.
Eg: atos -o ./MyPlug/Contents/MacOS/MyPlug -arch <x86_64 or i386> -l <address it was loaded> <address you'd like to symbolicate>
Sadly the version of JUCE I’m using with this project doesn’t have teh strip local symbols option, nor am I getting a DSYM file in the release build when I manually enable it in Xcode. Not entirely sure what’s going on here … I’m going to try a different approach.