Profiling on device won't symbolicate

Hey,


i got an issue with Instruments 7.1 when i try to profile my app. It works great in simulator, but when profiling on the device my symbols only show up as addresse:



The menu item File -> Symbols only after i stopped recording, not before. This is what i get:



when i try to locate and select the dSYM in DerivedData -> MyApp -> Build -> Products -> Debug-iphoneos i just get the error message: The specified path didn't locate a dSYM for any of the selected libraries.


Any help would be really great 🙂

Is your DerivedData folder in a location not being indexed by Spotlight?

Also, if you are using the default project settings, when profiling your app you are using the release build. So you should be looking in Release-iphoneos and not Debug-iphoneos. But Spotlight should be finding that automatically for you (for most default locations of DerivedData).

Hey grzywacz,


my derived data is in the default location: ~/Library/Developer/Xcode/DerivedData/

when i use the profile action with the release configuration Xcode states that the app could not be validated. (tried restart, cleaning, deleting app and reinstalling). so i gave the debug configuration a try, which works except for the missing symbolications

I can't speak to why your Release build isn't working, but that is something you should probably look into.


You can check to see if your Debug-iphoneos folder has the matching binary/DSYM as is installed on the device. Take a run in Instruments and look at the UUID for your binary in the File->Symbols... sheet. Then, in Terminal, go to your Debug-iphoneos folder, and run:

otool -l <YOUR_APP_BUNDLE>/Contents/Resources/DWARF/<YOUR_APP_BINARY_NAME> | grep uuid

You should see one or more UUIDs printed out. If one of those matches what you saw in Instruments, then Instruments should be able to use that dSYM if you locate it in the Symbols sheet.

You can also check if Spotlight can find the dSYM. From the Terminal:

mdfind <YOUR_UUID_HERE>

You should see the location of the dSYM. If not, your Spotlight index might need a rebuild.


If this doesn't help you along, you should file a radar with as much info as you can.

Same problem and grzywacz answer did not help.

any good/easy answers to the "no symbols in Instruments" bug?


I can see the system symbols (system libs & framework) but not from my own app.


just a whole lot of addresses in hex...

When in doubt, please file a radar with a reproducible test case. Here, that would mean attaching a sample project, the saved Instruments trace, and the application binary and dSYM.

Is your DerivedData folder in a location not being indexed by Spotlight?

Why would Spotlight have anything to do with whether Instruments can find symbols?

macOS allows the user to omit whatever directories they want from Spotlight. Since Spotlight is such a performance hit and serves no useful purpose, I disable it for everything except /Applications.

Why would that prevent Instruments from finding something? Can't it just use unix find command?

Because that's how various tools find the symbols file. The UUID is unique for each build and symbol file and is indexed by Spotlight. Symbolification also depends on Spotlight indexing the symbols file. That's the explanation for @grzywacz's post.

Profiling on device won't symbolicate
 
 
Q