!teb

!teb 拡張機能は、スレッド環境ブロック (TEB) 内の情報を書式設定された形式で表示します。

!teb [TEB-Address] 

\Parameters

TEB-Address
TEB を調べるスレッドの 16 進アドレス (これは、スレッドのカーネル スレッド ブロックから導かれる TEB のアドレスではありません。) ユーザー モードで TEB-Address を省略した場合は、現在のスレッドの TEB が使用されます。 カーネル モードで省略した場合は、現在のレジスタ コンテキストに対応する TEB が表示されます。

DLL

Exts.dll

追加情報

スレッド環境ブロックの詳細については、『Microsoft Windows Internals』(Mark Russinovich および David Solomon 共著) を参照してください。

解説

TEB は、Microsoft Windows のスレッド制御構造のユーザー モード部分です。

カーネル モードで、引数を指定せずに !teb 拡張機能を使用してエラーが発生する場合は、!process 拡張機能を使用して目的のスレッドの TEB アドレスを調べる必要があります。 レジスタ コンテキストが目的のスレッドに設定されていることを確認してから、!teb の引数として TEB アドレスを使用してください。

ユーザー モードでのこのコマンドの出力例を次に示します。

0:001> ~
   0  id: 324.458   Suspend: 1 Teb 7ffde000 Unfrozen
.  1  id: 324.48c   Suspend: 1 Teb 7ffdd000 Unfrozen

0:001> !teb 
TEB at 7FFDD000
    ExceptionList:    76ffdc
    Stack Base:       770000
    Stack Limit:      76f000
    SubSystemTib:     0
 FiberData:        1e00
    ArbitraryUser:    0
    Self:             7ffdd000
    EnvironmentPtr:   0
 ClientId:         324.48c
    Real ClientId:    324.48c
    RpcHandle:        0
    Tls Storage:      0
    PEB Address:      7ffdf000
    LastErrorValue:   0
    LastStatusValue:  0
    Count Owned Locks:0
    HardErrorsMode:   0

同様の !peb 拡張機能は、プロセス環境ブロックを表示します。