😊

XcodeでBreakpointを使おう

2022/04/25に公開

Breakpointを追加

行数のところにクリックして、青いタブが現れるとBreakpoint追加完了です

青いタグに一回クリックしたら、薄い青色になってBreakpointがinactive状態になります
inactive状態では、Breakpointの効果がなくなります
でも、Breakpointの位置が表しているから、active状態に戻すのは簡単です
(もう一回クリックしたらactive状態になります)

青いタグを完全に削除してほしい場合は、右クリックして「Delete Breakpoint」を押すと消されます

Breakpointを使用

Breakpointが入れる状態で、cmd + Rでアプリを起動しましょう

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        for i in 1...100 {
            print("Got number \(i).") //ここにBreakpoint
        }
    }
}

Breakpointが入れているので、起動したらすぐアプリが停止になります

  • 次のコードへジャンプ
    ショットカット「Fn + F6」で次のコードへジャンプします
  • 次のBreakpointへジャンプ
    ショットカット「Ctrl + Commnad + Y」で次のBreakpointへジャンプします

lldbを使う

まずはlldbを表示させます
(元々表示中ならこのステップを省くことができます)

「View」→「Debug Area」→「Activate Console」

lldbが表示中ならデバッグエリアに「lldb」の文字が表示されています

変数をプリントアウト

lldbにiという変数をプリントアウトします

p i

現在のiの値が返してきました

緑色のBreakpointラインを移動

緑のBreakpointラインの「三」というアイコンをドラッグ、上下移動させることができます
移動したら新しい場所からコードを執り行います

Breakpointの条件指定

特定な状況下でBreakpointを起動させ、アプリを停止させます
(その条件が満たされてない限り、青いタグがあってもアプリが停止しません)

青いタグに右クリック、「Edit Breakpoint...」をクリック

条件を入れます

Exception trigger

アプリがfatalError()に遭遇する時や、Error thrownの時も
Breakpoint状態になってほしい時に
Exception triggerを加えましょう

まずはBreakpoint navigatorをクリック

左下の「+」をクリック

「Exception Breakpoint」をクリック

Exceptionに「Objective-C」を指定

これでError thrownの時に、Exception breakpointが作動され
色々見ることができます

Discussion