idb target threads (gdb モードのみ)

後続のムーバーコマンドが適用されるスレッドを指定します。

構文

idb target threads target_thread_set [ only ]

パラメーター

target_thread_set

スレッドセット。

説明

このコマンドは、後続のムーバーコマンドが適用されるスレッドを指定します。ムーバーコマンドとは、stepcontinue など、アプリケーションの実行を進めるコマンドです。

後続のムーバーコマンドは、ムーバーが指定した場所にすべてのターゲットスレッドが到達すると完了します。コマンドが終了する前に、ユーザーやイベントにより中断された場合、コマンドは途中で停止します。

ターゲットスレッドが凍結されている場合、コマンドはエラーメッセージを出力して途中で停止します。

デバッガーは、この 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)

関連情報


このヘルプトピックについてのフィードバックを送信