1

When debugging Objective-C code, lldb skips calls to objc_msgSend and stops in the actual method being called.

I'd like to have similar behavior when debugging some code that uses NSInvocation. When reaching the point where -[NSInvocation invoke] is called, I'd like to make a 'step-in' command and skip objc_msgSend, -[NSInvocation invoke], __invoking___ and objc_msgSend and land on the actual method.

Are there some LLDB settings that can be used to achieve this?

Ekta Padaliya
  • 5,743
  • 3
  • 39
  • 51
kjam
  • 809
  • 1
  • 7
  • 17

1 Answers1

0

lldb doesn't have native support for NSInvocation.

If you're so inclined, please file a bug about this. Since it's ObjC specific, probably better to file it with http://bugreporter.apple.com.

Jim Ingham
  • 25,260
  • 2
  • 55
  • 63
  • 1
    Reported as https://openradar.appspot.com/radar?id=6097195182850048. Meanwhile, I'm gonna investigate if this can be achived by writing custom thread plan for LLDB using Python bindings. See http://lldb.llvm.org/python-reference.html "USING THE PYTHON API'S TO CREATE CUSTOM STEPPING LOGIC". Any help is appreciated. – kjam Aug 17 '16 at 10:00
  • That should be possible. If you have any questions, the lldb-dev list is probably the best resource: lldb-dev@lists.llvm.org. One of the limitations of the SB implemented stepping plans is that you can't currently call functions in a thread plan. I can't tell off-hand if you will need to do that or not, however. – Jim Ingham Aug 18 '16 at 18:40