以下の手順でOSX用のLLDBがビルドできた。
- OSX用のLLDBをビルドする手順
- 自己証明書を作成する手順
上記で説明されているステップは以下の通り。
- キーチェーンにlldb_codesignという名前で自己証明書を作成する
- (Homebrewで)swigをインストール
- ソースコードを取得する
- 必要ならパッチを当てる
以上の準備が整ったら
$ open lldb.xcworkspace/
でワークスペースを開き、ターゲットをLLDBに変更すれば、Xcode上でLLDBを起動することができる。
ビルドにはちょっと時間がかかる。
とりあえず何でもよいのでコンソールアプリケーションのプロジェクトを作る。
XcodeのDerived Dataの設定を相対パスにしておくと、出力バイナリが探しやすい。
例えば~/helloにhelloというプロジェクトを作り、Derived Dataがbuildのとき、Edit SchemaのArguments Passed On Launchで
-- ~/hello/build/hello/Build/Products/Debug/hello
のように起動時にバイナリが指定できる。(先頭はハイフン二つ)
(lldb) b main
(lldb) r
で、起動してmain関数で止まるはずである。
上記手順にもある通り、OSX用のLLDBではJITサポートが無効になっている。これは Debugging JIT-ed Code With GDB で説明されている、JITでコンパイルしたコードをソースレベルデバッグする機能のこと。
もともとパフォーマンス上の理由により無効化されたらしいが、現在も無効のままの理由は不明。