Xcode Instruments is stripping symbols despite all build settings to the contrary Xcode Instruments is stripping symbols despite all build settings to the contrary xcode xcode

Xcode Instruments is stripping symbols despite all build settings to the contrary


I was finally able to get it to work by a method that's just shy of a nuke-and-pave scenario:

  1. Make absolutely sure all symbol stripping is disabled for your current build configuration. Make sure you've done this for your Release config if that's what's being profiled for Instruments.
  2. Delete the app from the iOS device.
  3. Restart the iOS device.
  4. Restart the Mac (I don't trust Xcode or Lion at all to quit all relevant processes otherwise).
  5. Launch Xcode, go to Organizer > Projects and delete Derived Data for the affected project.
  6. Clean your project. Hell, why not?
  7. Build and profile for Instruments.
  8. Choose the Time Profiler in Instruments for clarity.
  9. The first run will not show the symbols, but don't quit. Leave Instruments running!
  10. Re-symbolicate the document in Instruments, navigating carefully to the correct dSYM file for the current build. This should be easier since you've deleted the derived data in step 5.
  11. Now you should be able to see your symbols. It helps if you hide non-objective-C symbols.

Why do I suggest that you delete the app and restart the iOS device in Steps 2 and 3? I have a suspicion that Xcode doesn't perform a clean installation of each build, but may install deltas, such that the symbol addresses present in Instruments are a mixture of the current build plus previous builds. If so, then this issue is even more common for someone like me, who shares a single test device between more than one Mac. This assumption could be wildly incorrect.

If the above steps don't work for you, please let me know in the comments. I'd like to create a detailed radar report at some point in the future.


I'm not sure that it has been fixed in the 4.3 but this is a known problem in 4.2 seen here

InstrumentsThere is a known issue with the Profile action from Xcode 4.2. After a build in which no source files have changed, Instruments will be unable to gather symbols for the target application.

This affects projects where both:

  1. The Release configuration is selected for the Profile action.(default)
  2. The Strip Linked Product build setting is set to "Yes”, ora custom Run Script build phase strips the product. (non-default)

The workaround is to do any one of the following:

  1. Perform a "Clean" on the product before initiating the Profileaction.
  2. Do a Clean of the product and temporarily set the Strip LinkedProduct build setting to "No" while Profiling.
  3. Set the configuration of the Profile action to Debug.
  4. Run successive profiles directly from within Instruments when you donot need to rebuild. When developing Mac apps, using the GC Monitortemplate in Instruments may cause Instruments to crash. Toworkaround the problem please consider migrating your application toARC.


I've had a similar problem for days. I was able to profile the Debug configuration, but not Release. First I tried to make a copy of the release configuration (as suggested somewhere on the web), but that copy did not work either.

Then I made a copy of Debug, called it Profile, tried it and the symbols of Profile were shown in the profiler. Great! I then changed the optimization levels etc. to the same as Release, and now it works! Just wanted to share this, as this comment would have spared me hours...