Подтвердить что ты не робот

Как автоматически установить точки останова на всех методах в XCode?

Как я автоматически устанавливаю точки останова на всех методах в XCode? Я хочу знать, как работает моя программа и какие методы вызывают, когда я взаимодействую с пользовательским интерфейсом.

4b9b3361

Ответ 1

  • Запустите приложение в Xcode.
  • Нажмите ⌘^Y (Отладка → Пауза).
  • Перейдите в консоль отладчика: ⌘⇧C
  • Введите breakpoint set -r . -s <PRODUCT_NAME> (введите имя приложения).

lldb ответит чем-то вроде...

Breakpoint 1: 4345 locations

Теперь просто нажмите кнопку "Продолжить".

breakpoint set - команда lldb для создания контрольных точек. Место указывается с использованием регулярного выражения (-r) для имен функций/методов, в данном случае ., которое соответствует любому методу. Параметр -s используется для ограничения объема вашего исполняемого файла (необходимо исключить рамки).

Когда вы запустите приложение, lldb теперь будет прерываться всякий раз, когда приложение попадает в функцию из вашего основного исполняемого файла.

Чтобы отключить тип точек останова breakpoint delete 1 (введите правильный номер точки останова).

Ответ 2

В некоторых случаях удобнее устанавливать точки останова только на некоторые из методов.

Используя LLDB, мы можем, например, поставить точку останова на все методы ViewDidLoad по имени.

(lldb) breakpoint set -n ViewDidLoad

Здесь "-n" означает по имени.

Кроме того, мы можем поставить точки останова по имени селектора:

(lldb) breakpoint set -S alignLeftEdges:

Здесь "-S" означает селектор.

Ответ 3

Существует много возможностей, но невозможно установить точки останова только для ваших функций. Вы можете попробовать:

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 во всех классах.

Я попытался, но не смог установить точки останова только по своим собственным методам.