Re: Finding the use of a private API
Re: Finding the use of a private API
- Subject: Re: Finding the use of a private API
- From: Roland King <email@hidden>
- Date: Tue, 17 Mar 2015 07:40:32 +0800
> On 17 Mar 2015, at 07:12, Rick Mann <email@hidden> wrote:
>
>
>> On Mar 16, 2015, at 16:02 , Wim Lewis <email@hidden> wrote:
>>
>>
>> On Mar 16, 2015, at 3:26 PM, Rick Mann <email@hidden> wrote:
>>> Further, how do I see what undefined symbols exist in a .a file? nm doesn't seem to work for those.
>>
>> nm works for me on static libraries (.a ‘ar’ archives). It just iterates over all the objects in the library and nm’s each one after printing the name of the object, so you can see where each symbol came from. Which seems like it would narrow it down to a single source file, at least?
>
> nm -u on my iOS app's binary emits:
>
> $ nm -u MyApp | grep dsyrk
> _dsyrk_
> _dsyrk_
>
> These are the undefined symbols (that is, symbols provided outside my binary.
>
> There's no other information there I see to help me identify where it's being called.
>
> (It does, in fact, behave the same for .a file, that's a red herring).
>
otool -t -V APP > /tmp/longFileOfDisassembly
vi the file and look for _dsyrk_ instances, they should be in comments like ## symbol stub for _dsyrk_
scan backwards to find what routine you’re in, should be a couple of screenfuls up at most.
Obviously better using a debug version of the code :)
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden