• 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: gdb: Symbolized Crash Report: One line spans multiple functions?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gdb: Symbolized Crash Report: One line spans multiple functions?


  • Subject: Re: gdb: Symbolized Crash Report: One line spans multiple functions?
  • From: Jerry Krinock <email@hidden>
  • Date: Mon, 28 Dec 2009 19:41:44 -0800

On 2009 Dec 28, at 19:08, Jason Molenda wrote:

> It might be tricky to skate by with knowledge of the 8088 instruction set but hey, it never hurts to try. :)

Yeah ... that's what it was ... 8088!

> Do it more directly:
>
> (gdb) x/10i 0xeb12d

Great!  The result is that it looks as you and Ken suspected.  Methods are abutting...

0xeb12d <-[ExtoreG(Loginner) logInWithInfo:]+884>:      add    $0x4c,%esp
0xeb130 <-[ExtoreG(Loginner) logInWithInfo:]+887>:      pop    ëx
0xeb131 <-[ExtoreG(Loginner) logInWithInfo:]+888>:      pop    %esi
0xeb132 <-[ExtoreG(Loginner) logInWithInfo:]+889>:      pop    íi
0xeb133 <-[ExtoreG(Loginner) logInWithInfo:]+890>:      leave
0xeb134 <-[ExtoreG(Loginner) logInWithInfo:]+891>:      ret
0xeb135 <-[ExtoreG(Loginner) errorLoggingIn]>:          push   ëp
0xeb136 <-[ExtoreG(Loginner) errorLoggingIn]+1>:        mov    %esp,ëp
0xeb138 <-[ExtoreG(Loginner) errorLoggingIn]+3>:        push   %esi
0xeb139 <-[ExtoreG(Loginner) errorLoggingIn]+4>:        push   ëx

Now, here's that line in the call stack again:

2   com.myCompany.Bkmxwork   0x000f112d 0x6000 + 962861

And, subtracting out the slide, we crashed at 0x000f112d - 0x6000 = 0xeb12d, which is 5 instructions *before* the end of loginWithInfo, which makes more sense.

Comparing this with 'info line' output:
Line 97 of "/Users/jk/Documents/Programming/Projects/Project1/ExtoreG+Loginner.m" starts at address 0xeb12d <-[ExtoreG(Loginner) logInWithInfo:]+884> and ends at 0xeb135 <-[ExtoreG(Loginner) errorLoggingIn]>.

I would say that's close, but not quite true.

So the lesson is maybe to not trust gdb's 'info line' when it gives you a line number that is the ending curly bracket of a function.  Interpret as "somewhere near the end of that function".  As I said originally, I've seen this situation before.  Here's the code in this case:

87:            [[self bkmslf] runModalSheetAlert:alert_
88:                                    iconStyle:SSYAlertIconInformational
89:                                modalDelegate:self
90:                               didEndSelector:@selector(didEndAskLogoutSheet:returnCode:info:)
91:                                  contextInfo:[info retain]] ;
92:        }
93:    }
94:    else {
95:        [self logOutThenInWithInfo:info] ;
96:    }
97:}

Now there's still some ambiguity when I look at line 1 in the call stack.  But we're getting somewhere.  I'll reply again after I study this some more.

 _______________________________________________
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

  • Follow-Ups:
    • Re: gdb: Symbolized Crash Report: One line spans multiple functions?
      • From: Jason Molenda <email@hidden>
References: 
 >gdb: Symbolized Crash Report: One line spans multiple functions? (From: Jerry Krinock <email@hidden>)
 >Re: gdb: Symbolized Crash Report: One line spans multiple functions? (From: Jerry Krinock <email@hidden>)
 >Re: gdb: Symbolized Crash Report: One line spans multiple functions? (From: Jason Molenda <email@hidden>)
 >Re: gdb: Symbolized Crash Report: One line spans multiple functions? (From: Jerry Krinock <email@hidden>)
 >Re: gdb: Symbolized Crash Report: One line spans multiple functions? (From: Jason Molenda <email@hidden>)

  • Prev by Date: Re: gdb: Symbolized Crash Report: One line spans multiple functions?
  • Next by Date: Re: gdb: Symbolized Crash Report: One line spans multiple functions?
  • Previous by thread: Re: gdb: Symbolized Crash Report: One line spans multiple functions?
  • Next by thread: Re: gdb: Symbolized Crash Report: One line spans multiple functions?
  • Index(es):
    • Date
    • Thread