後続のムーバーコマンドが適用されるスレッドを指定します。
このコマンドは、後続のムーバーコマンドが適用されるスレッドを指定します。ムーバーコマンドとは、step や continue など、アプリケーションの実行を進めるコマンドです。
後続のムーバーコマンドは、ムーバーが指定した場所にすべてのターゲットスレッドが到達すると完了します。コマンドが終了する前に、ユーザーやイベントにより中断された場合、コマンドは途中で停止します。
ターゲットスレッドが凍結されている場合、コマンドはエラーメッセージを出力して途中で停止します。
デバッガーは、この idb target threads の発行時には、target_thread_set を評価しません。後続の各ムーバーコマンドを実行する前に行います。次に例を示します。
(idb) set $foo = t:[1] (idb) idb target threads $foo (idb) step (idb) set $foo = t:[2] (idb) step
最初の step コマンドはスレッド 1、2 番目の step コマンドはスレッド 2 をステップ実行します。
thread コマンドは非ムーバーコマンドが適用されるスレッドを指定するため、このコマンドには影響しません。
デフォルトのターゲット・スレッド・セット (ユーザーが idb target threads を発行する前にムーバーが使用するセット) には、現在のムーバーの動作と一致する最後のイベントスレッドが含まれます。
スレッドセットを指定するには、適切な表記をしてください。
次の例では、現在のチームのすべてのスレッドが関数 foo にステップインして行 8 で停止します。 デフォルトの動作 (最後のイベントスレッドのみ行 8 で停止して、他のスレッドは他の行で停止する) と比較してください。
Syncpoint 1, main () at /site/test/demo.c:38 38 foo(tid); (idb) info thread 1 initial thread 3074269856 (LWP 28383) [thawed] stopped at 0x804892b in main::L_main_31__par_region0_2_28 at /site/test/demo.c:38 OpenMP team memberships: (8,0), (1,0) 2 monitoring thread 3074263984 (LWP 28384) [thawed] stopped at 0xb751d3b6 in pthread_cond_timedwait@@GLIBC_2.3.2 from /lib/tls/libpthread-0.60.so 3 openmp thread 3074194352 (LWP 28385) [thawed] stopped at 0x804892b in main::L_main_31__par_region0_2_28 at /site/test/demo.c:38 OpenMP team memberships: (8,1) 4 openmp thread 3070229424 (LWP 28386) [thawed] stopped at 0x804892b in main::L_main_31__par_region0_2_28 at /site/test/demo.c:38 OpenMP team memberships: (8,2) 5 openmp thread 3068128176 (LWP 28387) [thawed] stopped at 0x804892b in main::L_main_31__par_region0_2_28 at /site/test/demo.c:38 OpenMP team memberships: (8,3) * 6 openmp thread 3066026928 (LWP 28388) [thawed] stopped at 0x804892b in main::L_main_31__par_region0_2_28 at /site/test/demo.c:38 OpenMP team memberships: (8,4) (idb) idb target thread $currentopenmpteam (idb) s foo (tid=4) at /site/test/demo.c:8 8 int i = tid; (idb) info thread 1 initial thread 3074269856 (LWP 28383) [thawed] stopped at 0x80487a6 in foo at /site/test/demo.c:8 OpenMP team memberships: (8,0), (1,0) 2 monitoring thread 3074263984 (LWP 28384) [thawed] stopped at 0xb751d3b6 in pthread_cond_timedwait@@GLIBC_2.3.2 from /lib/tls/libpthread-0.60.so 3 openmp thread 3074194352 (LWP 28385) [thawed] stopped at 0x80487a6 in foo at /site/test/demo.c:8 OpenMP team memberships: (8,1) 4 openmp thread 3070229424 (LWP 28386) [thawed] stopped at 0x80487a6 in foo at /site/test/demo.c:8 OpenMP team memberships: (8,2) 5 openmp thread 3068128176 (LWP 28387) [thawed] stopped at 0x80487a6 in foo at /site/test/demo.c:8 OpenMP team memberships: (8,3) * 6 openmp thread 3066026928 (LWP 28388) [thawed] stopped at 0x80487a6 in foo at /site/test/demo.c:8 OpenMP team memberships: (8,4)