オンサイトセミナー
豊田孝の「IT談話館」 Windowsメモリダンプ解析を依頼する WinDbgとシステム分析




 本「IT談話館」一般公開記事は、10年以上の実務経験を持つ上級Windowsエンジニアを想定しています。
 本館は、Windowsカーネル深層を解析し、クラッシュ原因をはじめとするシステム内の「異様な動き」を検出・分析する
超高度な技術と実績を保有しています。



Windows XP/7/8/10のシステムワーカースレッド解析(基礎)


 WindowsはSaaSとして提供される時代に入り、その内部は頻繁に更新されています。更新内容の多くは、いろいろな事情と理由から、公にされることはほとんどありません。
 Windows 10の短周期の内部更新は、性能向上と互換性維持に加え、ML/DL/AI時代への対応と位置付けられています。簡単に表現すれば、Windows 10はCloudサービスと連携しながらBig Dataを収集・蓄積する「ソフトウェアセンサー」、という役割を担っています。本「IT談話館」は、そのソフトウェアセンサーのユーザー空間とカーネル空間を独自の解析コードで詳しく解析する技術を保有し、「Windowsメモリダンプ解析サービス」を提供しています。
 メモリダンプを解析すると、システム内の「異様な動き」を検出・解析することができます。「異様な動き」の中には、システムパフォーマンスの低下、既存アプリの動作異常、あるいは、セキュリティー脅威なども含まれます。本館サービスをご利用の際には、所属チーム内でご協議の上、「ご連絡」ください。

 本稿では、Windows XP/7/8/10それぞれの環境で採取されたカーネルメモリダンプを本「IT談話館」の独自解析コードで解析し、システムワーカースレッドの変遷を考察します。システムワーカースレッドは、Windowsシステムが用意するサービススレッドであり、貴重なシステム機能の一つです。なお、解析コードの開発知識の習得には、「時間と予算の投資」が必要です。

 それでは、Windows XP時代のシステムワーカスレッドの様子から見てみましょう。
kd> version
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.070227-2254
Machine Name:
Kernel base = 0x804d9000 PsLoadedModuleList = 0x8055c620
Debug session time: Wed Jun  4 19:50:12.855 2008 (UTC + 9:00)
System Uptime: 0 days 0:09:06.425
32-bit Kernel summary dump: C:\Users\Toyota\AppData\Local\Temp\000000c80_MEMORY.DMP

Microsoft (R) Windows Debugger Version 10.0.10240.9 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

[---]
 この情報は次のようなことを示しています。  システムワーカースレッドの解析時には、WinDbg内蔵の「!exqueue」コマンドを使用するのが一般的です。このコマンドを実行すると、次のような結果が返されてきます。
kd> !exqueue
**** Critical WorkQueue ( Threads: 7/512, Concurrency: 0/1 )
THREAD 8133eda8  Cid 0004.0010  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133eb20  Cid 0004.0014  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133e898  Cid 0004.0018  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133e610  Cid 0004.001c  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133e388  Cid 0004.0020  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 812e8738  Cid 0004.00c0  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 812e84b0  Cid 0004.00c4  Teb: 00000000 Win32Thread: 00000000 WAIT


**** Delayed WorkQueue ( Threads: 7/512, Concurrency: 1/1 )
WARNING: active threads = maximum active threads in the queue. No new
  workitems schedulable in this queue until they finish or block.
THREAD 8133d030  Cid 0004.0024  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133dda8  Cid 0004.0028  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133db20  Cid 0004.002c  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133d898  Cid 0004.0030  Teb: 00000000 Win32Thread: 00000000 READY on processor 0
THREAD 8133d610  Cid 0004.0034  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133d388  Cid 0004.0038  Teb: 00000000 Win32Thread: 00000000 WAIT
THREAD 8133c030  Cid 0004.003c  Teb: 00000000 Win32Thread: 00000000 WAIT

PENDING: ExWorkItem (fdbbea50) Routine PROCMON12+0xf92b3dca (00002dca) Parameter (fdbbea50)

**** HyperCritical WorkQueue ( Threads: 1/512, Concurrency: 0/1 )
THREAD 8133cda8  Cid 0004.0040  Teb: 00000000 Win32Thread: 00000000 WAIT
 情報内の3点の赤色数値に注目してください。数値を合計すると、「15」となります。「!exqueue」コマンドに相当する本「IT談話館」の独自解析コードの実行結果を見てみます。
Started ...

System(0x81341830)	BasePriority-> 8	ActiveThreads->70
001	Thread:->0x8133EDA8	Priority->13	State->05	Irql->00	00000000
002	Thread:->0x8133EB20	Priority->13	State->05	Irql->00	00000000
003	Thread:->0x8133E898	Priority->13	State->05	Irql->00	00000000
004	Thread:->0x8133E610	Priority->13	State->05	Irql->00	00000000
005	Thread:->0x8133E388	Priority->13	State->05	Irql->00	00000000
006	Thread:->0x8133D030	Priority->12	State->05	Irql->00	00000000
007	Thread:->0x8133DDA8	Priority->12	State->05	Irql->00	00000000
008	Thread:->0x8133DB20	Priority->12	State->05	Irql->00	00000000
009	Thread:->0x8133D898	Priority->12	State->01	Irql->00	00000000
010	Thread:->0x8133D610	Priority->12	State->05	Irql->00	00000000
011	Thread:->0x8133D388	Priority->13	State->05	Irql->00	00000000
012	Thread:->0x8133C030	Priority->12	State->05	Irql->00	00000000
013	Thread:->0x8133CDA8	Priority->15	State->05	Irql->00	00000000
014	Thread:->0x812E8738	Priority->13	State->05	Irql->00	00000000
015	Thread:->0x812E84B0	Priority->13	State->05	Irql->00	00000000

Ended ...
 この結果を見ると、先ほどの「15」という数値は、システムワーカースレッドの数を示していることが分かります。また、システムワーカースレッドには、「Critical WorkQueue」(Priority->13)、「Delayed WorkQueue」(Priority->12)、および、「HyperCritical WorkQueue」(Priority->15)の3種類のスレッドが存在することもわかります。赤色のデータは実行優先度値「12」を持つスレッド「0x8133D898」は「Delayed WorkQueue」(Priority->12)であることを示しています。

 ここまでのWindows XP時代の解析結果は、次のようなことを示しています。  Windows 7時代に入るとどのように変化するでしょう。
4: kd> version
Windows 7 Kernel Version 7601 (Service Pack 1) MP (8 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.22616.amd64fre.win7sp1_ldr.140303-2307
Machine Name:
Kernel base = 0xfffff800`03a54000 PsLoadedModuleList = 0xfffff800`03c98890
Debug session time: Sat Sep 20 09:58:01.081 2014 (UTC + 9:00)
System Uptime: 0 days 2:46:44.174
64-bit Kernel summary dump: C:\CrashDumps\windows7.dmp

Microsoft (R) Windows Debugger Version 10.0.10240.9 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

[---]
 この情報は次のようなことを示しています。  「!exqueue」コマンドを実行してみます。  
4: kd> !exqueue
**** Critical WorkQueue ( Threads: 7/512, Concurrency: 0/8 )
THREAD fffffa8006d74b50  Cid 0004.0018  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006da5040  Cid 0004.001c  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d89b50  Cid 0004.0020  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d7bb50  Cid 0004.0024  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d9eb50  Cid 0004.0028  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa800f0c1b50  Cid 0004.1910  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa800e9d6470  Cid 0004.1470  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT


**** Delayed WorkQueue ( Threads: 7/512, Concurrency: 0/8 )
THREAD fffffa8006d3ab50  Cid 0004.002c  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d3a660  Cid 0004.0030  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d82b50  Cid 0004.0034  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d82660  Cid 0004.0038  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d25040  Cid 0004.003c  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d25b50  Cid 0004.0040  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
THREAD fffffa8006d25660  Cid 0004.0044  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT


**** HyperCritical WorkQueue ( Threads: 1/512, Concurrency: 0/8 )
THREAD fffffa8006d24040  Cid 0004.0048  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT
 「15」というシステムワーカースレッドの数は変化していません。本「IT談話館」の独自解析コードの結果も見てみましょう。
Started ...

System(0xfffffa8006d0f740)	BasePriority-> 8	ActiveThreads->200
001	Thread:->0xFFFFFA8006D74B50	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
002	Thread:->0xFFFFFA8006DA5040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
003	Thread:->0xFFFFFA8006D89B50	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
004	Thread:->0xFFFFFA8006D7BB50	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
005	Thread:->0xFFFFFA8006D9EB50	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
006	Thread:->0xFFFFFA8006D3AB50	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
007	Thread:->0xFFFFFA8006D3A660	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
008	Thread:->0xFFFFFA8006D82B50	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
009	Thread:->0xFFFFFA8006D82660	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
010	Thread:->0xFFFFFA8006D25040	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
011	Thread:->0xFFFFFA8006D25B50	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
012	Thread:->0xFFFFFA8006D25660	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
013	Thread:->0xFFFFFA8006D24040	Priority->15	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
014	Thread:->0xFFFFFA800F0C1B50	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)
015	Thread:->0xFFFFFA800E9D6470	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff800`03ad14a8)

Ended ...
 すでに確認している次の2点も変化がありません。  システムワーカースレッドの仕様は、Windows 8.1出荷のタイミングで「大幅に変更」され、8.1環境で採取されたカーネルメモリダンプを解析すると、次のようなデータを取得することができます。
0: kd> version
Windows 8.1 Kernel Version 9600 MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 9600.17328.amd64fre.winblue_r3.140827-1500
Machine Name:
Kernel base = 0xfffff802`50871000 PsLoadedModuleList = 0xfffff802`50b47370
Debug session time: Fri Nov  7 14:50:46.222 2014 (UTC + 9:00)
System Uptime: 0 days 21:21:18.953
64-bit Kernel bitmap dump: C:\CrashDumps\windows81.dmp

Microsoft (R) Windows Debugger Version 10.0.10240.9 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

[---]
 同じように、「!exqueue」コマンドを実行してみます。
0: kd> !exqueue
GetGlobalValue: unable to get NT!KeNumberNodes type size
 残念ながら、カーネルの内部変更の影響もあり、「!exqueue」コマンドは使えなくなったようです。本館の独自解析コードを実行すると、次のような結果が返されてきます。
Started ...

System(0xffffe0019161f040)	BasePriority-> 8	ActiveThreads->176
001	Thread:->0xFFFFE00191DC2880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
002	Thread:->0xFFFFE00196DC7080	Priority->15	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
003	Thread:->0xFFFFE001976DC040	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
004	Thread:->0xFFFFE0019286E880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
005	Thread:->0xFFFFE00197885600	Priority->08	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
006	Thread:->0xFFFFE00197769880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
007	Thread:->0xFFFFE00196B5B880	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
008	Thread:->0xFFFFE0019282A040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
009	Thread:->0xFFFFE00191E44040	Priority->14	State->02	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
010	Thread:->0xFFFFE00195594040	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
011	Thread:->0xFFFFE00197A75880	Priority->16	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
012	Thread:->0xFFFFE001970D2880	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
013	Thread:->0xFFFFE001974EA880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
014	Thread:->0xFFFFE001974E9880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
015	Thread:->0xFFFFE00197546880	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
016	Thread:->0xFFFFE00192957880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
017	Thread:->0xFFFFE001928D5880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
018	Thread:->0xFFFFE001970D3880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
019	Thread:->0xFFFFE0019291D880	Priority->10	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
020	Thread:->0xFFFFE00197530880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
021	Thread:->0xFFFFE00197548880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
022	Thread:->0xFFFFE00191C05880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
023	Thread:->0xFFFFE00197798340	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
024	Thread:->0xFFFFE001977CA040	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
025	Thread:->0xFFFFE001977DC880	Priority->10	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
026	Thread:->0xFFFFE001928B4880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
027	Thread:->0xFFFFE00197555880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
028	Thread:->0xFFFFE001978C8040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
029	Thread:->0xFFFFE00197497040	Priority->15	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
030	Thread:->0xFFFFE00197867880	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
031	Thread:->0xFFFFE0019240D740	Priority->15	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
032	Thread:->0xFFFFE00197A54300	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
033	Thread:->0xFFFFE00192CF2040	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
034	Thread:->0xFFFFE001978C9880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
035	Thread:->0xFFFFE001970E0040	Priority->10	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
036	Thread:->0xFFFFE00197524880	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
037	Thread:->0xFFFFE00192976540	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
038	Thread:->0xFFFFE00192C97040	Priority->09	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)
039	Thread:->0xFFFFE00191F0F040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`508e0350)

Ended ...
0: kd> !thread 0xFFFFE00191E44040
THREAD ffffe00191e44040  Cid 0004.10e4  Teb: 0000000000000000 Win32Thread: 0000000000000000 RUNNING on processor 3
Not impersonating
DeviceMap                 ffffc0018c609610
Owning Process            ffffe0019161f040       Image:         System
Attached Process          N/A            Image:         N/A
Wait Start TickCount      4920252        Ticks: 1 (0:00:00:00.015)
Context Switch Count      117144         IdealProcessor: 0  NoStackSwap
UserTime                  00:00:00.000
KernelTime                00:00:05.593
Win32 Start Address nt!ExpWorkerThread (0xfffff802508e0350)
Stack Init ffffd000231b3c90 Current ffffd000231b35c0
Base ffffd000231b4000 Limit ffffd000231ae000 Call 0
Priority 14 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP          RetAddr           : Args to Child                                                           : Call Site
ffffd000`231b3110 fffff802`5093c59c : ffffd000`231b39f0 ffffd000`231b32e0 ffffd000`231b39f0 00000000`00000001 : nt!RtlpLookupFunctionEntryForStackWalks+0x7a
ffffd000`231b3180 fffff802`5093b20c : ffff8000`00000000 ffffffff`ffffffff ffffd000`00000000 00000000`00000005 : nt!RtlpWalkFrameChain+0x2d4
ffffd000`231b3870 fffff802`5093b0b0 : 00000000`00000003 ffffd000`231b3940 00000000`00000000 ffffe001`93b61c30 : nt!RtlWalkFrameChain+0x84
ffffd000`231b38b0 fffff802`50f015fd : fffff800`9eb18c0d ffffd000`231b3949 00000000`00000000 00000000`00000000 : nt!RtlCaptureStackBackTrace+0x44
ffffd000`231b38e0 fffff802`50efa432 : ffffe001`93ba1200 ffffe001`93ba1200 00000000`00000000 fffff802`00000000 : nt!VfDeadlockReleaseResource+0x99
ffffd000`231b39b0 fffff800`9eb18c0d : ffffe001`93ba11a0 ffffe001`93ba1200 00000000`00000000 ffffe001`90df8030 : nt!VerifierKeReleaseSpinLock+0x92
ffffd000`231b39f0 fffff800`9eaed1d5 : fffff800`9eac0001 ffffe001`93ba11a0 fffff800`9eac0001 fffff802`50b20300 : ndis!ndisMResetMiniportInternal+0xe1
ffffd000`231b3af0 fffff802`508e05e3 : fffff800`9eac00ec ffffd000`231b3bd0 ffffe001`93ba11a0 ffffe001`91e44040 : ndis!ndisQueuedCheckForHang+0x2d0e9
ffffd000`231b3b50 fffff802`5096fe70 : ffffe001`92feb660 ffffe001`91e44040 ffffe001`91e44040 ffffe001`9161f040 : nt!ExpWorkerThread+0x293
ffffd000`231b3c00 fffff802`509c67c6 : ffffd000`d4349180 ffffe001`91e44040 ffffe001`95df0080 00000000`00000001 : nt!PspSystemThreadStartup+0x58
ffffd000`231b3c60 00000000`00000000 : ffffd000`231b4000 ffffd000`231ae000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16
 赤色のデータを見ると、解析依頼者はクラッシュ発生に備えてVerifierを有効にしているようですから、次の処理手順としてはこの別稿「Windows XP/7/8/10 Device Driver、Verifier、リンカー」などの記事が参考になるでしょう。

 今度は、最新のWindows 10環境で採取されたカーネルメモリダンプの解析結果を見てみましょう。
1: kd> version
Windows 8 Kernel Version 10240 MP (2 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 10240.16393.amd64fre.th1_st1.150717-1719
Machine Name:
Kernel base = 0xfffff802`2941a000 PsLoadedModuleList = 0xfffff802`2973f030
Debug session time: Mon Aug  3 17:16:15.086 2015 (UTC + 9:00)
System Uptime: 0 days 1:19:12.780
64-bit Kernel bitmap dump: C:\CrashDumps\windows10.dmp

Microsoft (R) Windows Debugger Version 10.0.10240.9 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

[---]
 この情報は次のようなことを示しています。  本「IT談話館」の独自解析コードの実行結果を見てみましょう。
Started ...

System(0xffffe001502a3040)	BasePriority-> 8	ActiveThreads->144
001	Thread:->0xFFFFE0015209E840	Priority->06	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
002	Thread:->0xFFFFE00153A256C0	Priority->15	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
003	Thread:->0xFFFFE00153A16040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
004	Thread:->0xFFFFE00152C36040	Priority->23	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
005	Thread:->0xFFFFE001512B5640	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
006	Thread:->0xFFFFE0015099A200	Priority->06	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
007	Thread:->0xFFFFE0015471A440	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
008	Thread:->0xFFFFE00153B7D480	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
009	Thread:->0xFFFFE0015129A040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
010	Thread:->0xFFFFE00150857840	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
011	Thread:->0xFFFFE001510A1600	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
012	Thread:->0xFFFFE0015074B040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
013	Thread:->0xFFFFE00154604040	Priority->13	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
014	Thread:->0xFFFFE001546BE840	Priority->12	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)
015	Thread:->0xFFFFE00153A15040	Priority->06	State->05	Irql->00	nt!ExpWorkerThread (fffff802`29492680)

Ended ...
 これまでには見られない実行優先度値が採用されています。この実行結果は次のように整理できます。  実行優先度値「06」と「23」が新たに追加され、システムワーカースレッドの種類が2つほど増えています。増えた背景の解析作業は興味のあるところですが、本稿では割愛させていただきます(「参照」)。

 WinDbgに付属する「!exqueue」コマンドはWindowsのバージョンアップの流れの中で使えなくなりましたが、本館の独自解析コードはバージョンアップの影響を受けることなく、目的の結果を返してくれます。Windows 10からはクラウドとの連携が進み、サービス(Windows As A Service)として提供されるようになり、いつどのタイミングでシステム内部が変更され、どのような(悪)影響が発生するのかを予測できなくなりました。変更内容は、いろいろな事情から、非公開にされています。

続き




ビジネスメニュー




「Windowsメモリダンプ解析サービス」のご案内
Windowsメモリダンプ解析技術

Copyright©豊田孝 2004- 2024
本日は2024-04-25です。