objective-cをxcodeのGDBでのデバッグ

Pocket
LINEで送る

gdbコマンドでobjective-cをデバッグ方法をまとめておきます。

■実行関連
・ステップ実行(関数の中に入り)

(gdb) s

・ステップ実行(関数スキップ)

(gdb) n

・継続実行

(gdb) c
※ s はstep、n はnext、c はcontinueの省略です。

■ブレークポイント関連
・ブレークポイントの一覧表示

(gdb) info b
 Num Type Disp Enb Address What
 1 breakpoint keep y 0x0000345e in -[ViewController] at /ファイルパス/ファイル名.m:行数
   breakpoint already hit 1 time

・ブレークポイントを有効にする

(gdb) enable 5

・ブレークポイントを有効にする

(gdb) disable 5

・ブレークポイントの削除にする

(gdb) delete 5
※ここで 5 はbreakpointの番号

■表示関連
・変数の中身の表示

(gdb) p 変数名

・ポインタの先の中身を表示

(gdb) p *変数名

・変数のアドレスの表示

 (gdb) p &変数名
※ pはprintの省略です。

 
 
objective-CだどObject型の変数の中身を確認するのには、次の方法があります。

(gdb) po key
 ace76675a5b647828e1874dd524daef4

NSString型変数keyに格納されている文字列を確認できましたー。
 
ちなみに、これをpコマンドで表示させると次のようになります。

(gdb) p key
 $4 = (NSString *) 0x66af4

pコマンドではアドレスのみ表示。(Stringだからね。)

keyはポインタ変数なので、ポインタの先のの中身を見てみると

(gdb) p *key
   $2 = {
    = {
     isa = 0x1c18c9c
    }, }

※poコマンドはprint-objectの略です。

他にもいろいろありますが、時間のあるときに追加していきます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください