質問

WinDbg 経由でユーザー モード ダンプ ファイルを生成したマシンのホスト名を見つける簡単な方法はありますか?

または、少なくとも 2 つのダンプ ファイルが同じシステムからのものであることを確認するための識別情報。

役に立ちましたか?

解決

これを行うには、WinDbg を使用してユーザー ダンプ ファイルを分析します。を実行します。 !peb コマンドを実行して値を探します COMPUTERNAME その出力で。

他のヒント

debugger.chm から:

カーネルモードダンプファイル内のコンピュータ名の検索

クラッシュ ダンプが作成されたコンピューターの名前を確認する必要がある場合は、!peb 拡張子を使用して、その出力の COMPUTERNAME の値を検索できます。

または、次のコマンドを使用することもできます。

0: kd> x srv!SrvComputerName
be8ce2e8  srv!SrvComputerName  = _UNICODE_STRING "AIGM-MYCOMP-PUB01"

カーネルモードダンプファイル内の IP アドレスの検索

クラッシュ ダンプが作成されたコンピューターの IP アドレスを確認するには、送受信ネットワーク アクティビティを示すスレッド スタックを見つけます。送信パケットまたは受信パケットのいずれかを開きます。IP アドレスはそのパケットに表示されます。

編集:ダンプ ファイルの作成方法によっては、PEB 情報が利用できない場合があることに注意してください。 いつも コンピュータ名を見つけることができます。特に、Microsoft Winqual サイト経由で送信されたものはサニタイズされています。

PEB で環境変数のショートカットを使用する:!envvar コンピュータ名

IP アドレスリストの場合:
3:kd> du poi(poi(srvnet!SrvAdminIpAddressList))
ffffe001d3d58450 "127.0.0.1" 3: kd> du
ffffe001
d3d58464 "::1"
3:kd>
ffffe001d3d5846c "169.254.66.248"
3: kd>
ffffe001
d3d5848a ""
3:kd>
ffffe001d3d5848c "fe80::f0cb:5439:f12f:42f8"
3: kd>
ffffe001
d3d584c0 ""
3:KD> FFFFE001d3d584c2 "192.168.104.249" 3: kd> ffffe001d3d584e2 ""
3:kd>
ffffe001`d3d584e4 "fe80::fc6f:ae16:b336:83dc"
3:kd>

カーネルモードとユーザーモードの両方で、

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 のみがリストされていますが、ビット 5 を 0 と 4 とともに使用すると環境全体がダンプされることがわかりました。フラグ = 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 も機能するでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top