1. vertarget 命令可以显示目标系统的基本信息,如系统版本,计算机名,内核基质等
**kd> vertarget
Windows 7 Kernel Version 7601 (Service Pack 1) MP (1 procs) Free x86 compatible
Built by: 7601.18113.x86fre.win7sp1_gdr.130318-1533
Machine Name:
Kernel base = 0x83e52000 PsLoadedModuleList = 0x83f9b4d0
Debug session time: Wed Dec 4 19:37:43.569 2013 (UTC + 8:00)
System Uptime: 0 days 1:06:58.651
**
从输出来看 目标机: win7 sp1 内核基质:0x83e52000 名字没有获取到
**2. dg 命令主要显示【参数】的详细信息
kd> dg @fs
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0030 83f7cc00 00003748 DataRW 0 Bg By P Nl 00000492
kd> dg @ds
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0023 00000000 ffffffff Data RW 3 Bg Pg P Nl 00000cf2
**
范围大小
3.!cpuinfo 命令显示CPU信息
kd> !cpuinfo CP F/M/S Manufacturer MHz PRCB Signature MSR 8B Signature Features 0 6,42,7 GenuineIntel 2793 0000001400000000 0000001400000000 a0cf3fff Cached Update Signature 0000001400000000 Initial Update Signature 0000001400000000
**4.!pcr命令显示处理器控制域信息(Processor Control Region),也就是KPCR结构信息,每个CPU对应一个KPCR结构,可以在命令中指定要显示的CPU序号,不能指定显示当前CPU的PCR信息。
**
**kd> !pcr 0
KPCR for Processor 0 at 83f7cc00:
Major 1 Minor 1
NtTib.ExceptionList: 83f790ac
NtTib.StackBase: 00000000
NtTib.StackLimit: 00000000
NtTib.SubSystemTib: 801e4000
NtTib.Version: 001b4568
NtTib.UserPointer: 00000001
NtTib.SelfTib: 00000000
SelfPcr: 83f7cc00
Prcb: 83f7cd20
Irql: 0000001f
IRR: 00000000
IDR: ffffffff
InterruptMode: 00000000
IDT: 80b95400
GDT: 80b95000
TSS: 801e4000
CurrentThread: 83f86380
NextThread: 00000000
IdleThread: 83f86380
DpcQueue:**
**输出包括内核SEH链表头,TSS,IDT等重要信息。有了PCR地址,还可以通过dt命令直接显示KPCR机构,
**
**kd> dt nt!_kpcr 83f7cc00
+0x000 NtTib : _NT_TIB
+0x000 Used_ExceptionList : 0x83f790ac _EXCEPTION_REGISTRATION_RECORD
+0x004 Used_StackBase : (null)
+0x008 Spare2 : (null)
+0x00c TssCopy : 0x801e4000 Void
+0x010 ContextSwitches : 0x1b4568
+0x014 SetMemberCopy : 1
+0x018 Used_Self : (null)
+0x01c SelfPcr : 0x83f7cc00 _KPCR
+0x020 Prcb : 0x83f7cd20 _KPRCB
+0x024 Irql : 0x1f ''
+0x028 IRR : 0
+0x02c IrrActive : 0
+0x030 IDR : 0xffffffff
+0x034 KdVersionBlock : 0x83f7bc00 Void
+0x038 IDT : 0x80b95400 _KIDTENTRY
+0x03c GDT : 0x80b95000 _KGDTENTRY
+0x040 TSS : 0x801e4000 _KTSS
+0x044 MajorVersion : 1
+0x046 MinorVersion : 1
+0x048 SetMember : 1
+0x04c StallScaleFactor : 0xae9
+0x050 SpareUnused : 0 ''
+0x051 Number : 0 ''
+0x052 Spare0 : 0 ''
+0x053 SecondLevelCacheAssociativity : 0 ''
+0x054 VdmAlert : 0
+0x058 KernelReserved : [14] 0
+0x090 SecondLevelCacheSize : 0
+0x094 HalReserved : [16] 0x1000000
+0x0d4 InterruptMode : 0
+0x0d8 Spare1 : 0 ''
+0x0dc KernelReserved2 : [17] 0
+0x120 PrcbData : _KPRCB
**
5.!prcb命令显示KPRCB结构,里面包含了当前线程,IDLE线程等重要信息。同样可以用dt命令显示KPRCB详细信息
kd> !prcb PRCB for Processor 0 at 83f7cd20: Current IRQL -- 28 Threads-- Current 83f86380 Next 00000000 Idle 83f86380 Processor Index 0 Number (0, 0) GroupSetMember 1 Interrupt Count -- 0006cb65 Times -- Dpc 00000318 Interrupt 00000ac3 Kernel 0003fae6 User 000003cc
**6.!idt 命令显示终端服务表,可以指定中断显示,也可以显示全部
!idt
Dumping IDT:
37: 83e35104 hal!PicSpuriousService37
51: 873882d8 serial!SerialCIsrSw (KINTERRUPT 87388280)
52: 87326058 pci!ExpressRootPortMessageRoutine (KINTERRUPT 87326000)
53: 8733ccd8 pci!ExpressRootPortMessageRoutine (KINTERRUPT 8733cc80)
**
**7.!running 命令显示所有CPU上正在运行的线程信息,便于了解系统当前信息,蓝屏时可以看系统正在执行的什么线程
kd> !running
System Processors: (00000001)
Idle Processors: (00000001)
All processors idle.
**
**8. !process 显示进程信息,是个常用命令。可以显示EPROCESS,进程ID,句柄,页目录,线程列表
!process 0 0 显示进程列表,只显示每个进程的基本信息。
kd> !process 0 0
**** NT ACTIVE PROCESS DUMP ****
PROCESS 865dc750 SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000
DirBase: 00185000 ObjectTable: 8a201ab0 HandleCount: 538.
Image: System
**
!process XXXXXXX 显示指定进程的所有信息。!process XXXXXXX 0 则显示指定进程的基本信息
**
kd> !process 88699030 0
PROCESS 88699030 SessionId: 0 Cid: 0a40 Peb: 7ffd6000 ParentCid: 01f4
DirBase: 3ed014c0 ObjectTable: 8ff68230 HandleCount: 360.
Image: svchost.exe
9. .process 切换进程
**
手机扫一扫
移动阅读更方便
你可能感兴趣的文章