cocoa touch - Xcode - Break on exception, but no useable symbols -


i need figuring out magical incantation necessary usable information in lldb.

i have strange behavior i'm trying debug, , can reliably reproduce issue don't yet understand underlying cause. noticed there exception being thrown, , added exception breakpoint xcode.

exception:

coredata: error: serious application error. exception caught delegate of nsfetchedresultscontroller during call -controllerdidchangecontent:. *** -[__nsarraym objectatindex:]: index 2 beyond bounds empty array userinfo (null)

so, breakpoint in place following stack trace:

stacktrace

this looks super helpful! looks there's funkiness going on uicollectionviewflowlayout reusable header views... need to... oh. crap. wait. what?

how inspect array in frame 1 of stack trace that's being called out of bound index? can po <some memory address> in console inspect it? cannot use frame variable in lldb console when frames 11 - 1 selected (from here).

the way read stack trace is:

  1. (frame 14) fetched results controller has picked managed object context change, , calls it's delegate
  2. (frame 13) frc delegate, instance of fhmemberdirectory, send message -memberdirectorydidchangecontent:completion: view controller fhmemberdirectoryviewcontroller, subclass of uicollectionviewcontroller
  3. (frame 12) view controller calls -performbatchupdates:completion: on it's uicollectionview instance
  4. (frames 10 - 1) private apple stuff happens try , layout collection view on screen; i think!

... please let me know if i've missed glaringly obvious! question debugging , i'm hoping set of eyes or more expertise can enlighten me.

to untrained eye, seems bug buried in apple's code, still need figure out way work around it. gist of problem understanding how useful information lldb console in code not under direct control.

from experimentation , research, answer is:

with lldb alone, cannot useful symbols or memory addresses inspect.

however, can use objective-c runtime swizzle method implementations , jump deep stack trace, therefore giving handle arguments , return values.

stack trace methods swizzled in

now have access arguments passed in @ frames 3 , 5!

(it turns out argument of ...usingdata: private apple class. able dig more class here, nothing super useful. @ end of day i've filed radar , asked work around dts).


Comments

Popular posts from this blog

SPSS keyboard combination alters encoding -

Add new record to the table by click on the button in Microsoft Access -

javascript - jQuery .height() return 0 when visible but non-0 when hidden -