LLDB相当于GDB的宏

bio*_*ffe 8 gdb objective-c lldb

我有一个非常有用的宏定义 .gdbinit

define rc
call (int)[$arg0 retainCount]
end
Run Code Online (Sandbox Code Playgroud)

无论如何为lldb定义相同的宏?

Mar*_*n R 5

您可以使用lldb中的以下命令定义来执行此操作:

command regex rc 's/(.+)/print (int)[%1 retainCount]/'
Run Code Online (Sandbox Code Playgroud)

例:

(lldb) rc indexPath
print (int)[indexPath retainCount]
(int) $2 = 2
Run Code Online (Sandbox Code Playgroud)

您可以将其放入~/.lldbinit(并重新启动Xcode)。

应该认为

command alias rc print (int)[%1 retainCount]
Run Code Online (Sandbox Code Playgroud)

应该可以工作,但是正如我无法解释的那样,我无法使这个简单的LLDB别名正常工作,%1扩展不适用于表达式,这command regex是一种解决方法。