如何在XCode中的所有方法上自动设置断点?

时间:2012-02-14 10:20:52

标签: xcode breakpoints

是否有人知道如何在XCode中的所有方法上自动设置断点。 我想知道我的程序是如何工作的,以及当我与用户界面交互时调用哪些方法。 谢谢你的回答。

3 个答案:

答案 0 :(得分:56)

  1. 在Xcode中运行您的应用。
  2. 按⌘^Y(调试 - >暂停)。
  3. 转到调试器控制台:⌘⇧C
  4. 输入breakpoint set -r . -s <PRODUCT_NAME>(插入您的应用名称)。
  5. 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上设置断点。

我试过,但我不能仅根据自己的方法设置断点。