Re: Shark Unknown Library?
Re: Shark Unknown Library?
- Subject: Re: Shark Unknown Library?
- From: Scott Squires <email@hidden>
- Date: Wed, 27 May 2009 23:29:55 -0700
Now my code routines automatically show up.
>Add the correct version as a search path to Shark.
I've done this with no success.
In Shark Prefs I added Symbol Rich files to /myNewSDK/Platforms/
iPhoneOS.platform/DeviceSupport/
and all variations and levels into the 3.0 version symbols.
I also tried copying this folder to the standard $(DEVELOPER_DIR)/
Platforms/iPhoneOS.platform//DeviceSupport/
and adding that as a symbol rich path.
Rebuilt the app, run it on the device and bring up Shark. Do the
standard start/stop pointing at the device. All this works and my
routine names show up scattered among Unknown library methods.
Are there any other steps to making Shark recognize the actual OS code
base symbols?
Thanks,
Scott
On May 27, 2009, at 10:47 PM, Rick Altherr wrote:
Shark is doing a spotlight search for the com_apple_xcode_dsym_uuids
property. The contents of that property are the UUIDs of the
various binaries. Assuming Spotlight is enabled and the privacy
settings are not set for the volume, you should be able to make a
query using mdfind. You'll need the UUID of a binary that should be
on the system. One way to find one is to run 'dwarfdump -u' on your
binary. An mdfind on that UUID should return the dSYM for the binary.
Now, the binaries that are part of the iPhoneOS won't be located by
Spotlight (mainly because we only lookup the dSYMs that way), but
they are automatically searched via an implicit search path. Sadly,
that search path, currently, only includes device support folders
in /Developer. If you look in $(DEVELOPER_DIR)/Platforms/
iPhoneOS.platform/, there should be a folder named DeviceSupport or
similar. This contains stub binaries for each released version of
iPhoneOS. Add the correct version as a search path to Shark. The
reason just adding the SDK won't work is that the binaries in the
SDK are from the a specific major version of iPhoneOS (i.e. the 2.2
SDK includes the binaries from 2.2.0 and not 2.2.1). The
DeviceSupport folder includes the binaries from every released
version of iPhoneOS and so one of the folders will match the
binaries running on your device.
Note that for Shark to consider a binary to be a match, the UUID
will need to be the same. This generally means that a recompile of
an application will not match since the UUID will differ even though
the original source might be the same.
Rick
On May 27, 2009, at 9:03 PM, Scott Squires wrote:
Thanks for responding.
Shark 4.7.0 (244.4)
iPhone OS 3.0 beta 5
I forced a reindex with Spotlight previously but will try again
with a terminal command.
The SDK is outside the standard Developer folder since 2 versions
have to be installed.
Any other suggestions?
Scott
On May 27, 2009, at 8:38 PM, Rick Altherr wrote:
On May 27, 2009, at 8:33 PM, Scott Squires wrote:
In the most recent SDK for the iPhone when I run shark I get
Unknown Library for everything.
If I symbolicate then my routine names show up but no library or
OS routines are named.
I've added the pathway to the latest SDK to the search path prefs
for symbol rich files.
Any suggestions for getting the actual framework methods to show
up?
Thanks.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
What version of Shark? Newer versions use Spotlight to locate the
symbol-rich versions of binaries. They also automatically search
the various device support folders included with the SDKs.
--
Rick Altherr
Performance Tools
Development Technologies
email@hidden
--
Rick Altherr
Performance Tools
Development Technologies
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden