'Xcode's Profiler does not show Symbol names
Updated to xCode 4.5 and when time profiling my app Symbol Name doesn't show classes or objects anymore, but shows memory addresses see below.
0x2fd42e13
0x38014448
I used to see the following
main
NSManagedObjectContext
When I could see the class names then I can track down the issues in the extended detail. Now the extended detail shows the same thing as the 0x2fd42e13.
Solution 1:[1]
Solved it myself:
Edit your scheme where it says "WhateverProjectNameIs>iPad 6.0 simulator"
Then click on "Profile" on the left On the Info tab, change Build Configuration to Debug (probably set to Release) That should do it. Note that for whatever reason, the build target is not set to the same build configuration as the profile target and this has tripped me up more than a time or two.
Solution 2:[2]
To resolve my issue I had to tell Instruments where my binary was as it had lost track of it for some reason.
1. Run Instruments as you normally would to get the masked data.
2. In the Project Navigator, expand the Products folder and click your application (either provider (.appex) or application (.app). If your File Inspector is not visible, right click the application and click "Show File Inspector"
3. On the right side of your screen you should now see the file inspector for your binary. Opposite click on the "Full Path" property and click "Copy".
4. Go back into Instruments and go to File->Symbols
5. Drop down your application or provider on the left and click on the item with the dot next to it (it should have the same name as your application)
6. You'll notice that the Binary Path is red. This means that Instruments has lost track of your binary file. Click the small folder icon on the bottom right to bring up a Select File dialog. Press Command+Shift+G
to enter a directory path, and paste the path that we copied from xcode earlier.
7. You should now have the binary selected, click Open
to open it. Click done on the Dialog to close the windows. Instruments should now show the proper details and symbol names while profiling your code.
- If this reoccurs, and your binary is located at a path like
/Users/<User>/Library/Developer/Xcode/DerivedData/...
, you will need to add this to your default search path in Instruments./Library
is not indexed by Spotlight, so is not searched for by Instruments. Go to Instruments > Preferences > Symbols, and add/Users/<User>/Library/Developer/Xcode/DerivedData/
.
Solution 3:[3]
Profiling the debug configuration will not give you correct profile values. The debug configuration is not compiled for speed, and all your NSLog statements are still in.
I created a "Profile" build configuration to deal with this issue. See my answer to a similar Stackoverflow question.
Solution 4:[4]
Me too had the same issue and I tried all steps that others suggested. But none of them fixed the issue for me. So, what I did is, I just opened the Instruments
and next to the Record
button, click on the drop down menu and select the target using Choose target
option. Then click on Record
button, now I could see all the methods in the instruments panel :)
Solution 5:[5]
I know this is an old question, but none of the solutions mentioned above worked for me. I need to switch to the latest iOS simulator (use iOS 9 instead of iOS 8 currently) to show symbol name correctly. I think Xcode Instruments can only work with simulator which run latest iOS SDK.
Solution 6:[6]
Restart Instruments and Xcode solved my problem :(
Solution 7:[7]
I was the having same problem and tried the other solutions to no avail. The Scheme issue is usually the problem, so I started there. But in my case it was already configured properly. Here's what finally worked for me:
- In Instruments, stop the process if it's running.
- Go to File -> Symbols, and under dSYM path, find the library that isn't being symbolicated.
- In my case, it was pointing to items in the Trash. So I emptied the Trash, deleted the Module Cache and project in the Derived Data folder, and when I rebuilt the project it started working again. In your case it could be pointing to some other file that either doesn't exist or isn't reachable by Instruments.
Solution 8:[8]
Reset the build path to default. I have changed it to tmp/ folder previously and symbol can't show the code. After reset this path and profiler can show the code correct. Build Path(Relative to Derived Data) setting as bellow:
Solution 9:[9]
I have same problem in Xcode 11.4 1. Show your YOUR_PROJECT.app folder in Xcode while build success , find Release-iphoneos or Debug-iphoneos folder, select which on determined by your Profile`s build setting. normally we choice Release-iphoneos. 2. Add that path to Instruments in ?Preferences?->?Symbols? to search YOUR_PROJECT.app.dSYM file.
Solution 10:[10]
An Xcode restart fixed it for me, on Xcode 13.3.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow