Symbolicating Crash Reports for Mac Catalyst App

I'm trying to debug a couple of crash reports for a Mac Catalyst app and seem to be unable to symbolicate my crash reports. In the Xcode Organizer, I see unsymbolicated lines for my app, despite having the original archive for the build in question. A search for the relevant dSYM (using the process from https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report#Locate-a-dSYM-Using-Spotlight) yields no results.

Unlike iOS builds, the "Download dSYMs" button isn't present in the organizer, nor is the option to download dSYMs from App Store Connect. I assume this is because macOS apps don't use bitcode.

The app's Debug Information Format is set to DWARF with dSYM File.

Has anyone else run into this issue? Any ideas about how I can symbolicate the crash logs?

Post not yet marked as solved Up vote post of tschmitz Down vote post of tschmitz
1.4k views

Replies

Are you able to share the exact commands you used, and the output they produced? Case sensitivity matters, as do the quotes. Also what is the file location? This depends on Spotlight, so if you're in an unusual location or on a server, then Spotlight won't have that UUIDs indexed.

Another way to come at this is look in your archive for the dSYM you expect to match, and use the dwarfdump commands in that same document to print the UUID, and then match it up with what's in the binary images section of your crash report.

The first thing I tried was using the built-in Xcode crash reports in the Organizer. I assumed that since Xcode has access to the archives and is fetching the crash reports itself, it would be able to locate and use the appropriate dSYMs, but I see unsymbolicated entries for the parts of the stack trace that are in my app.

So that led me to trying to symbolicate manually. I looked up the UUID and then used this, which produced no output:

mdfind "com_apple_xcode_dsyms_uuids == E49A5EB3-C560-3895-B2AE-4CEE263E45CA"

Next I tried looking in the archive for the dSYM itself. I right-clicked on the archive in the Xcode organizer and chose Show in Finder, then used Show Package Contents on the xcarchive. In the dSYMs folder, I see dSYM files for some frameworks the app uses, as well as some of its extensions (intents, widgets) but there isn't a dSYM for the app itself.

I see dSYM files for some frameworks the app uses, as well as some of its extensions (intents, widgets) but there isn't a dSYM for the app itself.

This is the issue. Verify the DEBUG_INFORMATION_FORMAT build setting (including any overrides by .xcconfig files) to make sure a dSYM is being generated.

  • Are there any other settings I need to check besides the Debug Information Format setting, which is set to DWARF with dSYM File? I'm not using .xcconfig files.

Add a Comment

I doubled checked the Debug Information Format setting for my main target and it's set to DWARF with dSYM File. (Screenshot included.)

I also did a new archive for both iOS and Mac (Catalyst), with no code or configuration changes between the two aside from the build number. When I inspect the contents of the archives, the dSYM for the main app is present in the iOS archive, but not the Mac archive. I'm using Xcode 13.3.1 and MacOS 12.3.1.