マルチスレッドプログラム内ですべてのスレッドを結合するときは、スレッドと LWP とは同義になります。その場合は、マルチスレッドプログラミングをサポートする以下の adb コマンドを用いて、各スレッドにアクセスできます。
表 7-3 マルチスレッド対応の adb コマンド
pid:A |
pid で指定したプロセスに接続する。プロセスと、そのすべての LWP は停止する。 |
:R |
プロセスから切り離す。プロセスと、そのすべての LWP は再開される。 |
$L |
(停止した) プロセス内の有効な LWP を一覧表示する。 |
n:l |
フォーカスを n で指定した LWP に切り替える。 |
$l |
現在のフォーカスの LWP を表示する。 |
num:i |
num で指定したシグナルを無視する。 |
以下のコマンドは、条件付きブレークポイントを設定するためによく使用されます。
表 7-4 adb ブレークポイントの設定
[label],[count]:b [expression] |
expression の評価結果が 0 のときにブレークポイントにヒットする。 |
foo,ffff:b <g7-0xabcdef |
g7 = 0xABCDEF (16 進数値) のときに foo で停止する。 |