On 4 Oct 2012, at 12:12 PM, Jerry Krinock <je...@ieee.org> wrote:
> 1   MyFramework   0x00105066 MyInlineFunction + 188607
...
> If I create such an error on my Mac, where backtrace() has the benefit of 
> either an unstripped Debug build or a matching dSYM file, the backtrace is 
> symbolized correctly.
...
> What might be going on here?  It's like: When backtrace() can't find the 
> symbol for an address, it grabs the symbol of the first inline function.

Well, yes. If symbols are not present in the executable, the trace will search 
backwards in memory to the closest symbol that happens to be defined.

In this case, frame 1 was stopped 188,607 bytes after the beginning of 
MyInlineFunction. Unless MyInlineFunction is very long, this is a sign that the 
information needed to show a meaningful symbol is absent. When you provide the 
information by pointing a tool at the matching dSYM, you get a meaningful 
symbol.

It's not an error; the data simply isn't there. Don't strip symbols, or do 
symbolicate.

        — F
-- 
Fritz Anderson -- Xcode 4 Unleashed: 4.5 supplement in the works -- 
<http://x4u.manoverboard.org/>


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to