Add a symbolic breakpoint on a selector in Xcode

后端 未结 5 2186
滥情空心
滥情空心 2021-02-20 07:30

There\'s a bug in my app which shows up with the following (partial) stacktrace:

2011-11-25 01:55:59.760 Events2[6650:403] -[Event boolValue]: unrecognized selec         


        
相关标签:
5条回答
  • 2021-02-20 08:15

    Setting a breakpoint on a selector causes lldb to halt when that selector is executed, not when it is sent. In your case, there is no selector "-[Event boolValue]", therefore this breakpoint will never be hit.

    I would set an exception breakpoint on "All Objective-C Exceptions". This will be hit when the "unrecognized selector sent" exception is thrown and you can see where the problem occurs.

    0 讨论(0)
  • 2021-02-20 08:24

    I would set an Symbolic breakpoint with this symbol -[NSObject doesNotRecognizeSelector:] enter image description here

    which will help us to capture situations where a selector is being invoked against the wrong object.

    0 讨论(0)
  • 2021-02-20 08:27

    Best way to find unrecognized selector call is to create this selector (as category) and put a break point in it.

    0 讨论(0)
  • 2021-02-20 08:29

    I was looking for the same answer (symbolic breakpoints) and this link helped: http://www.cocoabuilder.com/archive/cocoa/308967-symbolic-breakpoints.html#308970

    You have to follow this pattern (it is also given as a placeholder in Xcode breakpoint editor):

    - [name_of_the_class name_of_the_method:]
    

    For example I was looking to see who does set my left bar item and overrides my settings, I used -[UINavigationItem setLeftBarButtonItem:]

    and it worked. Or this one

    -[UINavigationController pushViewController:animated:]

    0 讨论(0)
  • 2021-02-20 08:32

    It looks to me like symbolic breakpoints don't work right in LLDB (I'm running the most recent released version of Xcode as of this writing, 4.3.3).

    I set a symbolic breakpoint at addAnimation:forKey: in LLDB, and it never gets hit. If I switch my project to GDB, the breakpoint works as expected.

    0 讨论(0)
提交回复
热议问题