6

WinDBGからのフォアグラウンド.NETスレッドを判別するにはどうすればよいですか?!threadsコマンドを使用すると、SOS拡張機能はフォアグラウンドスレッドの数を示しますが、どのスレッドの数は示しません。

4

3 に答える 3

6

出力の状態フラグは!threads多くの情報を保持します。フラグが設定されている場合、0x00000200スレッドはバックグラウンドスレッドです。

SOS for .NET 4およびPSSCOR2に!threadstateは、特定のフラグ値のテキストを一覧表示するコマンドがあります。それがない場合は、ローターのソースコードとJohnRobbinsによる.NET2.0アプリケーションのデバッグにフラグの概要があります。

于 2009-04-28T11:31:18.540 に答える
6

このリンクで提供されているスレッド状態の値を使用して、スレッドがバックグラウンド スレッドであるかどうかを確認できます。

TS_Background 0x00000200 スレッドはバックグラウンド スレッドです

于 2009-04-28T12:03:05.173 に答える
0

Netextのコマンド!wthreadsは、タイプとステータス情報を表示します。

0:011> !wthreads
   Id OSId Address  Domain   Alloc Start:End   COM  GC Type  Locks Type / Status             Last Exception
    1 1854 0074f580 00748cd0 02c19308:02c1b2e8 STA  Preemptive   0                          
    2 1890 0075ab18 00748cd0 00000000:00000000 MTA  Preemptive   0 Background|Finalizer     
    3 1bac 080ecb98 00748cd0 00000000:00000000 MTA  Preemptive   0 Background|Worker        
    4 ---- 08106068 00748cd0 00000000:00000000 MTA  Preemptive   0 Worker|Terminated        
    5 ---- 0810e988 00748cd0 00000000:00000000 MTA  Preemptive   0 Worker|Terminated        
    6 ---- 080eb1d0 00748cd0 00000000:00000000 MTA  Preemptive   0 Worker|Terminated        
    7 081c 080fcb48 00748cd0 00000000:00000000 MTA  Preemptive   0 Background|IOCPort
于 2015-07-30T13:56:57.780 に答える