WinDbg を介してユーザー モード ダンプ ファイルを生成したマシンのホスト名を見つける簡単な方法はありますか?
または、少なくとも 2 つのダンプ ファイルが同じシステムからのものであることを確認するための識別情報。
WinDbg を介してユーザー モード ダンプ ファイルを生成したマシンのホスト名を見つける簡単な方法はありますか?
または、少なくとも 2 つのダンプ ファイルが同じシステムからのものであることを確認するための識別情報。
WinDbgを使用してユーザーダンプファイルを分析することで、これを行うことができます。コマンドを実行し、その出力で!peb
の値を探します。COMPUTERNAME
debug.chmから:
カーネルモードのダンプファイルでのコンピューター名の検索
クラッシュダンプが作成されたコンピューターの名前を特定する必要がある場合は、!peb拡張子を使用して、その出力であるCOMPUTERNAMEの値を探すことができます。
または、次のコマンドを使用できます。
0: kd> x srv!SrvComputerName
be8ce2e8 srv!SrvComputerName = _UNICODE_STRING "AIGM-MYCOMP-PUB01"
カーネルモードのダンプファイルでのIPアドレスの検索
クラッシュダンプが作成されたコンピューターのIPアドレスを確認するには、送信/受信ネットワークアクティビティを示すスレッドスタックを見つけます。送信パケットまたは受信パケットの1つを開きます。IPアドレスはそのパケットに表示されます。
編集:ダンプファイルの作成方法によっては、PEB情報が利用できない場合があるため、コンピューター名を常に見つけることができるとは限らないことに注意してください。特に、Microsoft Winqualサイトから何かが届いた場合は、サニタイズされています。
PEBでの環境変数のショートカットの使用:!envvar COMPUTERNAME
IP アドレス リストの場合:
3: kd> du poi(poi(srvnet!SrvAdminIpAddressList))
ffffe001 d3d58464 "::1"
3: kd>
ffffe001 d3d5848a ""
3: kd>
ffffe001 d3d584c0 ""
3: kd> ffffe001 d3d584e2 ""
3: kd>
ffffe001`d3d584e4 "fe80::fc6f:ae16:b336:83dc"
3: kd> d3d58450 "127.0.0.1"
3: kd> du
ffffe001d3d5846c "169.254.66.248"
3: kd>
ffffe001d3d5848c "fe80::f0cb:5439:f12f:42f8"
3: kd>
ffffe001d3d584c2 "192.168.104.249"
3: kd>
ffffe001
カーネル モードとユーザー モードの両方で、
10: kd> !envvar COMPUTERNAME
COMPUTERNAME = a-host-name
ターゲット PC のコンピューター名 (別名ホスト名) を取得します。
EXTS.dll
拡張機能のロードと、Windows XP+ (執筆時点では W10 RS3) が必要です。
カーネル モードでは、これは直接には機能せず、!envvar
空を返します
10: kd> !peb
PEB NULL...
現在のコンテキストはアイドル スレッドです。
WinDbg (Windows 10 RS3 16299.15 SDK)!process
はビット 0 ~ 4 のみをリストしますが、0 と 4 を使用するとビット 5 が環境全体をダンプすることがわかりました0b110001
。そのため、WinDbg 起動スクリプト中にこれを使用して、コンピューター名を自動的にログに記録します。
!process 0 0x31 wininit.exe
すべての環境変数をダンプします:
10: kd> !process 0 0x31 wininit.exe
PROCESS ffffc485c82655c0
SessionId: 0 Cid: 02d0 Peb: 8d04c6b000 ParentCid: 0258
DirBase: 40452f000 ObjectTable: ffffe30b1150fb40 HandleCount: 163.
Image: wininit.exe
VadRoot ffffc485c862b990 Vads 61 Clone 0 Private 326. Modified 12. Locked 2.
DeviceMap ffffe30b0a817880
Token ffffe30b1150f060
ElapsedTime 00:00:18.541
UserTime 00:00:00.000
KernelTime 00:00:00.015
QuotaPoolUsage[PagedPool] 121696
QuotaPoolUsage[NonPagedPool] 11448
Working Set Sizes (now,min,max) (1750, 50, 345) (7000KB, 200KB, 1380KB)
PeakWorkingSetSize 1697
VirtualSize 2097239 Mb
PeakVirtualSize 2097239 Mb
PageFaultCount 2104
MemoryPriority BACKGROUND
BasePriority 13
CommitCharge 470
PEB at 0000008d04c6b000
InheritedAddressSpace: No
ReadImageFileExecOptions: No
BeingDebugged: No
ImageBaseAddress: 00007ff7be3d0000
Ldr 00007ff8dff4f3a0
Ldr.Initialized: Yes
Ldr.InInitializationOrderModuleList: 000001be470e1c10 . 000001be47128d60
Ldr.InLoadOrderModuleList: 000001be470e1d80 . 000001be47128d40
Ldr.InMemoryOrderModuleList: 000001be470e1d90 . 000001be47128d50
Base TimeStamp Module
7ff7be3d0000 600d94df Jan 24 10:40:15 2021 C:\Windows\system32\wininit.exe
7ff8dfdf0000 493793ea Dec 04 03:25:14 2008 C:\Windows\SYSTEM32\ntdll.dll
...
SubSystemData: 0000000000000000
ProcessHeap: 000001be470e0000
ProcessParameters: 000001be470e1460
CurrentDirectory: 'C:\Windows\system32\'
WindowTitle: '< Name not readable >'
ImageFile: 'C:\Windows\system32\wininit.exe'
CommandLine: 'wininit.exe'
DllPath: '< Name not readable >'
Environment: 000001be47104460
ALLUSERSPROFILE=C:\ProgramData
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=a-host-name
ComSpec=C:\Windows\system32\cmd.exe
NUMBER_OF_PROCESSORS=16
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 1 Stepping 1, AuthenticAMD
PROCESSOR_LEVEL=23
PROCESSOR_REVISION=0101
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\temp
TMP=C:\temp
USERNAME=SYSTEM
USERPROFILE=C:\Windows\system32\config\systemprofile
windir=C:\Windows
PEB dml リンクをクリックするか、 を介してコンテキストを切り替えることもでき.process /p <PROCESS_ADDRESS>
ます!envvar COMPUTERNAME
。