【发布时间】:2012-03-05 17:18:22
【问题描述】:
如何在 Xcode 中的所有方法上自动设置断点? 我想知道我的程序是如何工作的,以及当我与用户界面交互时会调用哪些方法。
【问题讨论】:
标签: xcode breakpoints
如何在 Xcode 中的所有方法上自动设置断点? 我想知道我的程序是如何工作的,以及当我与用户界面交互时会调用哪些方法。
【问题讨论】:
标签: xcode breakpoints
breakpoint set -r . -s <PRODUCT_NAME>(插入您的应用名称)。lldb 会回答类似...
Breakpoint 1: 4345 locations
现在只需按“继续”按钮。
breakpoint set 是 lldb 创建断点的命令。该位置是在函数/方法名称上使用正则表达式 (-r) 指定的,在这种情况下,. 匹配任何方法。 -s 选项用于限制可执行文件的范围(需要排除框架)。
现在,当您运行您的应用程序时,只要应用程序从您的主可执行文件中访问一个函数,lldb 就会中断。
要禁用断点类型breakpoint delete 1(插入正确的断点号)。
【讨论】:
breakpoint set -r . -s MyFooApp。
在某些情况下,只在某些方法上设置断点会更方便。
例如,使用 LLDB,我们可以按名称在所有 ViewDidLoad 方法上放置断点。
(lldb) breakpoint set -n ViewDidLoad
这里的“-n”表示名字。
另外,我们可以通过选择器名称放置断点:
(lldb) breakpoint set -S alignLeftEdges:
这里的“-S”表示选择器。
【讨论】:
有很多可能性,但没有办法只为你的函数设置断点。你可以试试:
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 上设置断点。
我试过了,但我不能只在我们自己的方法上设置断点。
【讨论】: