iPhoneアプリ開発のgdb使い方メモ

ほんとにメモ

レジスタの内容
メッセージ レシーバ セレクタ
objc_msg_send r0 (eax) r1 (ecx)
objc_msg_send_str r1 (eax) r2(ecx)

*括弧内はi386(iPhoneシミュレータ)

変数の覗き方
  • レジスタ一覧
    • (gdb) info registers
  • オブジェクトの表示
    • print-object (オブジェクト変数名)
    • print-object [オブジェクト変数名 description]
  • レシーバ、セレクタの文字列表示
    • x/s $r0 ($eax)
    • x/s $r1 ($ecx)
    • print-obj $r0
    • x/s $r1
    • x/s $r2
  • その他
    • call [exp]
    • set [var] = [exp]
    • whatis (変数名)
その他

displayでブレイクしたときに表示の自動設定ができるはず。
display $r0はメッセージが出て期待した動作してない。