2012-02-14 28 views

回答

52
  1. 在Xcode中運行您的應用程序。
  2. 按⌘^Y(調試 - >暫停)。
  3. 轉到調試器控制檯:⌘+ C
  4. 類型breakpoint set -r . -s <PRODUCT_NAME>(插入您的應用的名稱)。

LLDB將類似回答...

Breakpoint 1: 4345 locations 

現在只需按繼續按鈕。

breakpoint set是lldb的創建斷點的命令。位置是利用在函數/方法名的正則表達式(-r)中指定,在這種情況下.相匹配的任何方法。該-s選項用於範圍限制在你的可執行文件(排除框架所需)。

當您運行您的應用程序時,lldb現在會在應用程序從您的主要可執行文件中擊中某個函數時破壞。

要禁用斷點類型breakpoint delete 1(插入正確的斷點編號)。

+0

感謝您的詳細解釋。我試圖顯示斷點列表,它的工作原理,但如何設置與lldb的所有方法斷點? – 2012-02-14 14:35:19

+1

上面的描述中的第三點:如果您的應用名爲「MyFooApp」,請鍵入'breakpoint set -r。 -s MyFooApp'在調試器控制檯中。 – 2012-02-14 14:44:26

+0

感謝它現在的工作(這是我的錯誤 - 我輸入項目名稱時出錯)抱歉)。非常感謝 - 它的工作很棒! – 2012-02-14 14:52:35

12

在某些情況下,只在一些方法設置斷點更方便。例如,使用LLDB,我們可以按名稱在所有ViewDidLoad方法上放置斷點。

(lldb) breakpoint set -n ViewDidLoad 

這裏「-n」是指名稱。

而且,我們可以通過選擇名字把斷點:

(lldb) breakpoint set -S alignLeftEdges: 

這裏通過選擇 「-S」 的意思。

0

有許多可能性,但沒有辦法只爲你的函數設置斷點。你可以試試:

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上設置斷點。

我試過了,但是我不能只在我們自己的方法上設置斷點。

相關問題