• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Debugging stack traces
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

References: 
 >Debugging stack traces (From: Graham Cox <email@hidden>)
 >Re: Debugging stack traces (From: Greg Parker <email@hidden>)

  • Prev by Date: Re: Getting reference to NSWindowController from subviews
  • Next by Date: Re: image not found
  • Previous by thread: Re: Debugging stack traces
  • Next by thread: Re: Debugging stack traces
  • Index(es):
    • Date
    • Thread