Re: Debugging stack traces
Re: Debugging stack traces
- Subject: Re: Debugging stack traces
- From: Graham Cox <email@hidden>
- Date: Thu, 3 Dec 2009 12:37:57 +1100
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 email@hidden Runtime Wrangler
>
>
_______________________________________________
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