Re: [SOLVED BUT UNEXPLAINED] Framework load address from an exception log
Re: [SOLVED BUT UNEXPLAINED] Framework load address from an exception log
- Subject: Re: [SOLVED BUT UNEXPLAINED] Framework load address from an exception log
- From: Jerry Krinock <email@hidden>
- Date: Sun, 17 Mar 2013 23:02:18 -0700
On 2013 Mar 13, at 14:17, Wim Lewis <email@hidden> wrote:
> Is there anything interesting at offset 0xb4542 in MyFramework?
Yes, there is, Wim. The short answer, I think, is that 0xb4542 is the address of the lowest symbol in MyFramework which has not been stripped.
Long answer. Although MyFramework is a 6.6 MB fat binary and contains thousands of callable units, it is stripped, so that when I run 'nm' on it, I only get addresses for the several dozen constants, classes and one inline C function which I have declared with __attribute__((visibility("default"))). Of these, the one with the lowest address is that inline C function; let's call it MyFunction(). Its address is 0xb4542. The next "known" address, that of a string constant, is quite a bit higher, 0x1ee590, and the remainder are way up in the range 0x300000 thru 0x330000, which is near the end of this binary. (Each half of the 6.6 MB fat binary is about 3.3 MB, and 3.3x10^6 = 0x325aa0.)
I have learned previously to ignore references to _MyFunction in crash reports, because, as someone explained to me, in attempting to symbolize an address, Apple's crash reporter does not know that these "visible" symbols it has are just a tiny subset of the callable units in the framework. In this case, for example, it thinks that MyFunction() runs from 0xb4542 thru 0x1ee590. So any time a crash occurs in any of the hundred of callable units in that range, the crash report lists it as occurring within MyFunction().
_______________________________________________
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