-->

How do I reliably get Instruments 4.x to symbolica

2019-03-18 00:55发布

问题:

I have a bit of a dilemma — no matter what I do, I cannot get Apple's Instruments.app to symbolicate any of the included instruments while I'm profiling on my devices (it works OK in the iOS Simulator).

I've tried just about everything I can think of, including:

  • Checking that I'm actually building a dSYM
  • Switching between Debug and Release build schemes
  • Making sure that the signing certificate being used in my Development cert
  • Adding and removing my Derived Data folder from Spotlight's Privacy list
  • Clean & Build before profiling
  • Removing the Derived Data folder before building and profiling

I'm not sure where to go from here — I had symbols for an hour or two earlier in the week, but I just can't get them to show up at all anymore. It would be great to figure out what the mystical incantation is to make Instruments always find my app's symbols.

回答1:

In the File menu there is an option for Re-Symbolicate Document. Choosing this, you can find your binary in the list and use the Locate button to specify the location of the dSYM manually. There is also a checkbox here for using Spotlight to find the dSYM; it's possible it got deactivated if Spotlight was borked at some point but is now fixed.

It seems that you cannot do this while Instruments is actually instrumenting, but it does seem to keep the setting for the next time you hit Record. It does not, however, seem to remember the setting after you close Instruments.



回答2:

Did you ensure you are signing the app with a development profile (as opposed to a distribution profile)? Be aware that you are usually using release builds with instruments so make sure you didn't choose a distribution profile for your release configuration...



回答3:

I've seen Instruments 4.2 fail to symbolicate several times with the correct dSYM file.

After saving and quit/restart Instruments, it will then symbolicate.

(Sometimes I'll capture a small sample and make sure it works before collecting large samples.)



回答4:

Aside from xcode's tools, you can use atos: https://stackoverflow.com/a/4954949/312725

Be sure to take slide into account as well: https://stackoverflow.com/a/13576028/312725

(I'm adding this information to several related questions that are related to that, but aren't exactly duplicate questions. This is copy-pasted, it's a honest attempt to help someone who googled that question rather then spam.)