Thanks! That's pretty cool, and very comprehensive.

--Graham


On 03/12/2009, at 12:21 PM, Greg Parker wrote:

> That's the offset in bytes of the CPU instruction in that function - the 
> crashing instruction in the top frame, and the instruction after the call in 
> the other frames.
> 
> You can recover the line number if you have the binary and dSYM file that 
> match the version from the crash.
> 
> (The values below are all fake.)
> 
> 1. Find the binary's UUID in the Binary Images section of the crash log.
>    Binary Images:
>        0x1000 -     0x1ff7 +com.apptree.drawkit ??? (???) 
> <A84E261F-B98E-8ECD-3A40-24C65353BE3E> 
> /path/to/DrawKit.framework/Contents/MacOS/DrawKit
> 
> 2. Find the binary for the version with that UUID.
>    % dwarfdump -u /path/to/DrawKit.framework
>    UUID: D0358F4B-FCBB-321A-5F9E-E4C36C20ADE9 (x86_64) 
> /path/to/DrawKit.framework/Contents/MacOS/DrawKit
>    UUID: A84E261F-B98E-8ECD-3A40-24C65353BE3E (i386) 
> /path/to/DrawKit.framework/Contents/MacOS/DrawKit
> 
> 3. Find the dSYM file with that UUID. A Spotlight search for the UUID may 
> work.
>    % dwarfdump -u /path/to/DrawKit.framework.dSYM
>    UUID: D0358F4B-FCBB-321A-5F9E-E4C36C20ADE9 (x86_64) 
> /path/to/DrawKit.framework.dSYM/Contents/Resources/DWARF/DrawKit
>    UUID: A84E261F-B98E-8ECD-3A40-24C65353BE3E (i386) 
> /path/to/DrawKit.framework.dSYM/Contents/Resources/DWARF/DrawKit
> 
> 4. Run gdb with that architecture, binary, and dSYM.
>    % gdb -arch i386 /path/to/DrawKit.framework
>    (gdb) add-dsym /path/to/DrawKit.framework.dSYM
> 
> 5. Ask gdb for the line number for that function+offset. (Note the actual 
> address may not match the one in the crash log.)
>    (gdb) x/i '-[DKDrawableObject encodeWithCoder:]' + 71
>    0x4bb9 <-[DKDrawableObject encodeWithCoder:]+71> ...
>    (gdb) info line *0x4bb9
>    Line 55 of "DKDrawableObject.m" starts at address 0x4bb9 
> <-[DKDrawableObject encodeWithCoder:]+71> and ends at 0x4bc9 
> <-[DKDrawableObject encodeWithCoder:]+87>
> 
> 
> -- 
> Greg Parker     gpar...@apple.com     Runtime Wrangler
> 
> 

_______________________________________________

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

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

Reply via email to