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

Mat*_*der 37 xcode breakpoints

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

Nik*_*uhe 57

  1. 在Xcode中运行您的应用程序.
  2. 按⌘01Y(调试 - >暂停).
  3. 转到调试器控制台:⌘⇧C
  4. 输入breakpoint set -r . -s <PRODUCT_NAME>(插入您的应用名称).

lldb会回答类似......

Breakpoint 1: 4345 locations
Run Code Online (Sandbox Code Playgroud)

现在只需按"继续"按钮即可.

breakpoint set是lldb的命令来创建断点.使用-r函数/方法名称上的正则表达式()指定位置,在这种情况下.匹配任何方法.该-s选项用于将范围限制为可执行文件(需要排除框架).

当您运行应用程序时,只要应用程序从主可执行文件中找到函数,lldb就会中断.

禁用断点类型breakpoint delete 1(插入正确的断点号).

  • 这是上面描述中的第三点:如果您的应用程序名为“MyFooApp”,请输入 `breakpoint set -r 。调试器控制台中的 -s MyFooApp`。 (2认同)
  • 是否可以仅对特定组的文件或类执行此操作?例如,我只想要我的类,而不是导入/CocoaPod 文件。 (2认同)

wzb*_*zon 13

在某些情况下,仅在某些方法上设置断点更方便.

例如,使用LLDB,我们可以按名称在所有ViewDidLoad方法上放置断点.

(lldb) breakpoint set -n ViewDidLoad
Run Code Online (Sandbox Code Playgroud)

这里"-n"表示名称.

此外,我们可以通过选择器名称放置断点:

(lldb) breakpoint set -S alignLeftEdges:
Run Code Online (Sandbox Code Playgroud)

这里"-S"表示选择器.


Pio*_*icz 8

有很多可能性但是没有办法只为你的函数设置断点.你可以试试:

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在所有类中的所有方法上设置断点.

我试过,但我不能只在我们自己的方法上设置断点.