如何在lldb控制台中向对象发送消息?

eri*_*ric 2 xcode cocoa objective-c lldb

假设我有一个指向对象' 0x20c28010' 的指针.如何在调试器控制台(lldb)中向此对象发送消息?如:[0x20c28010 doSomething];

rob*_*off 9

如果消息没有返回任何内容,或者返回您不关心的指针,整数或浮点类型,则可以执行以下操作:

p (void)[0x20c28010 doSomething]
Run Code Online (Sandbox Code Playgroud)

如果您关心返回类型,或者返回类型是a struct,则需要转换为正确的返回类型.例子:

p (int)[0x20c28010 length]
p (float)[0x20c28010 scale]
p (CGPoint)[0x20c28010 origin]
Run Code Online (Sandbox Code Playgroud)

如果消息返回指向Objective-C对象或Core Foundation类型的指针,则可以使用它po来打印返回对象的描述:

po [0x20c28010 doSomething]
Run Code Online (Sandbox Code Playgroud)