MDB は、ターゲットに関連する各スレッドのスタックとレジスタを調査する機能を提供します。持続的な「スレッド」変数には、現在の代表スレッド識別子が入っています。スレッド識別子の書式はターゲットによって異なります。::regs dcmd と ::fpregs dcmd を使用すると、代表スレッドやレジスタセットが現在利用できる場合、別のスレッドのレジスタセットを調査できます。さらに、代表スレッドのレジスタセットは名前付き変数セットとしてエクスポートされます。1 つまたは複数のレジスタの値を変更するには、対応する名前付き変数に > dcmd を適用します。
MDB カーネルターゲットは、対応する内部スレッド構造体の仮想アドレスを指定されたスレッドの識別子としてエクスポートします。
MDB プロセスターゲットは、ネイティブな lwp_* インタフェース、/usr/lib/libthread.so、または /usr/lib/libpthread.so を使用するマルチスレッド化されたユーザープロセスを適切に検査します。動作中のユーザープロセスをデバッグするとき、MDB はシングルスレッド化されたプロセスが libthread を dlopen または close するかどうかを検出して、動作中のユーザープロセスのスレッド化モデルのビューを自動的に調整します。プロセスターゲットスレッド識別子は、アプリケーションが使用するスレッド化モデルに基づいて、代表スレッドの lwpid_t、thread_t 、または pthread_t に対応付けられます。
MDB がユーザープロセスターゲットをデバッグしているとき、コンパイラによってサポートされるスレッドローカルな記憶領域をターゲットが利用している場合、MDB は自動的に、スレッドローカルな記憶領域を参照するシンボル名を、現在の代表スレッドに対応する記憶領域のアドレスで評価します。::tls 組み込み dcmd を使用すると、代表スレッド以外のスレッドのシンボルの値も表示できます。