2013年7月11日木曜日

LLDB ブレークポイント tips

一つ前のポストと似たような話題でブレークポイントのTIpsをもう一つ。
Stack-trace-dumping regular-expression-based symbolic breakpoints in LLDB



LLDBの --func-regex オプションを使うと正規表現でクラス名を指定できて、そのすべてのメソッドにブレークポイントを設定することができる。
(lldb) breakpoint set --func-regex NSLayoutManager
とすると NSLayoutManagerのそれぞれのメソッドでブレークポイントが働くようになる。
記事ではこのタイミングでスタックトレースを出力する方法が紹介されていた。
(lldb) breakpoint command add 2
Enter your debugger command(s).  Type 'DONE' to end.
> script print "----------"
> bt
> continue
> DONE
(lldb)
最後に continueを入れているので出力後は止まらずに実行を継続する。

メソッドのみを対象として、C関数を除外したい場合は頭に[を付ける。
(lldb) breakpoint set --func-regex "\[NSLayoutManager"
するとNSLayoutManagerLogDebug()などが除外される。

0 件のコメント:

コメントを投稿