是否有人知道如何在XCode中的所有方法上自动设置断点。 我想知道我的程序是如何工作的,以及当我与用户界面交互时调用哪些方法。 谢谢你的回答。
答案 0 :(得分:56)
breakpoint set -r . -s <PRODUCT_NAME>
(插入您的应用名称)。lldb会回答类似......
Breakpoint 1: 4345 locations
现在只需按“继续”按钮即可。
breakpoint set
是lldb命令创建断点。使用函数/方法名称上的正则表达式(-r
)指定位置,在本例中.
匹配任何方法。 -s
选项用于将范围限制为可执行文件(需要排除框架)。
当您运行应用程序时,只要应用程序从主可执行文件中找到某个函数,lldb就会中断。
禁用断点类型breakpoint delete 1
(插入正确的断点号)。
答案 1 :(得分:13)
在某些情况下,仅在某些方法上设置断点更方便。
使用LLDB,我们可以按名称在所有ViewDidLoad方法上放置断点。
(lldb) breakpoint set -n ViewDidLoad
此处“-n”表示名称。
此外,我们可以按选择器名称放置断点:
(lldb) breakpoint set -S alignLeftEdges:
这里“-S”表示选择器。
答案 2 :(得分:6)
有很多可能性但是没有办法只为你的功能设置断点。你可以尝试:
breakpoint set -r '\[ClassName .*\]$'
将断点添加到类
中的所有方法 breakpoint set -f file.m -p ' *- *\('
将断点添加到文件
中的所有方法您也可以将它与许多文件一起使用:
breakpoint set -f file1.m -f file2.m -p ' *- *\('
快捷方式:
br se -f file1.m -f file2.m -p ' *- *\('
您可以使用一些前缀为所有类中的所有方法添加断点(并且它只能是您的类)
br se -r . -s Prefix
这一行(wzbozon回答):
breakpoint set -n viewDidLoad
将在所有类中的所有方法viewDidLoad
上设置断点。
我试过,但我不能仅根据自己的方法设置断点。