macOS

  • LLVMのデバッガ
  • gdbと同じだったり、違ったり 使い方
  • コンパイルするときにデバッグシンボルつけておく
    • -g: 実行可能ファイルに「デバッグシンボル」を含める
    • -O0: 最適化を最低レベルにする
  • 起動
    • $ lldb <実行バイナリ> <引数...>
    • $ lldb -p プロセス番号
  • break point
    • 関数名を指定: b <関数名>
    • ファイル名・行番号を指定: b <ファイル名>:<行番号>
      • ファイル名は省略可能
    • breakpointの一覧: breakpoint list
    • break pointの削除: breakpoint delete <番号>
      • 全削除: breakpoint delete
  • プログラムの実行
    • r
    • r <引数1> <引数2>...
  • 実行
    • n
    • ステップin: s
    • 関数から抜ける: fin
    • 次のbreak pointまで続ける: c
  • 変数
    • 表示: p <変数名>
    • 代入: p <変数名>=<値>