没有合适的资源?快使用搜索试试~ 我知道了~
WinDbg.入门.5.内核调试常用命令1
需积分: 0 0 下载量 148 浏览量
2022-08-03
14:21:07
上传
评论
收藏 203KB PDF 举报
温馨提示
试读
18页
介绍每个命令的主要作用,以及常用方式,不会涉及详细的命令参数,目的是能快速上手熟悉内核调试下的常用操作,而不是替代帮助文件。查看目标机查看目标机查看目标机查看目
资源详情
资源评论
资源推荐
Windows 调试工具入门 ( http://www.DbgTech.net ) WinDbg 内核调试常用命令 (1)
- 1 -
WinDbg
WinDbg
WinDbg
WinDbg 内核调试常用命令 (1)
(1)
(1)
(1)
本章介绍内核调试下的常用命令,内容稍多,准备分为两篇来介绍。第一篇主要涉及查看目标机状态、进程相关
、
线程相关命令。介绍每个命令的主要作用,以及常用方式,不会涉及详细的命令参数,目的是能快速上手熟悉内核调
试下的常用操作,而不是替代帮助文件。
查看目标机
查看目标机
查看目标机
查看目标机
调试过程中经常需要查看目标机的状态,比如目标系统类型等。下面几个是内核调试时常用的命令,可以方面的
查看当前目标机状态,其它如查看进程列表、查看内核模块等命令在接下来的几节中在详细介绍。
vertarget
vertarget
vertarget
vertarget
vertarget 命令可以显示目标系统的基本信息,如系统版本、计算机名、内核基址等。
从输出来看,目标机为 2003SP1 系统,非 Checked 版,内核基址为 0x80800000 ,计算机名没有获取到。
dg
dg
dg
dg
dg 命令主要显示选择子的详细信息。
kd> vertarget
Windows Server 2003 Kernel Version 3790 (Service Pack 1) UP Free x86 compatible
Built by: 3790.srv03_sp1_rtm.050324-1447
Machine Name:
Kernel base = 0x80800000 PsLoadedModuleList = 0x808a8e48
Debug session time: Sat Dec 20 17:16:07.913 2008 (GMT+8)
System Uptime: 0 days 0:35:04.726
kd> r
eax=00000001 ebx=00034e04 ecx=8089fc8c edx=000003f8 esi=00000005 edi=0cc843f0
eip=8081d97e esp=8089d580 ebp=8089d590 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
nt!RtlpBreakWithStatusInstruction:
8081d97e int 3
kd> dg @cs
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0008 00000000 ffffffff Code RE Ac 0 Bg Pg P Nl 00000c9b
kd> dg @ds
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0023 00000000 ffffffff Data RW Ac 3 Bg Pg P Nl 00000cf3
Windows 调试工具入门 ( http://www.DbgTech.net ) WinDbg 内核调试常用命令 (1)
- 2 -
从 dg 命令的输出信息可以看到 cs 段和 ds 段范围都是 0x00000000-0xffffffff ,大小为 4G 。
!cpuinfo
!cpuinfo
!cpuinfo
!cpuinfo
!cpuinfo 命令显示 CPU 信息。
!pcr
!pcr
!pcr
!pcr 和 !prcb
!prcb
!prcb
!prcb
!pcr 命令显示处理器控制域( Processor Control Region )信息,也就是 KPCR 结构信息,每个 CPU 对应一 个
KPCR 结构,可以在命令中指定需要显示的 CPU 序号,不指定则显示当前 CPU 的 PCR 信息。
!prcb 命令显示处理器控制块( Processor Control Block )信息,也就是 KPRCB 结构信息,同样,每个 CPU
对应一个 KPRCB 结构,该结构紧接在 KPCR 结构后面,由 KPCB 结构中的 PrcbData 表示。命令中可以指定 CPU
序号。
kd> dg @fs
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0030 ffdff000 00001fff Data RW Ac 0 Bg Pg P Nl 00000c93
kd> !cpuinfo
CP F/M/S Manufacturer MHz PRCB Signature MSR 8B Signature Features
0 6,15,11 GenuineIntel 2319 7fffffff00000000 0000000000000000 80013bbf
Cached Update Signature 0000000000000000
Initial Update Signature 7fffffff00000000
lkd> !pcr
KPCR for Processor 0 at 81ef8800:
Major 1 Minor 1
NtTib.ExceptionList: 9f840a3c
NtTib.StackBase: 00000000
NtTib.StackLimit: 00000000
NtTib.SubSystemTib: 80154000
NtTib.Version: 00f54ca0
NtTib.UserPointer: 00000001
NtTib.SelfTib: 7ffdd000
SelfPcr: 81ef8800
Prcb: 81ef8920
Irql: 00000002
IRR: 00000000
IDR: ffffffff
InterruptMode: 00000000
IDT: 83112400
GDT: 83112000
TSS: 80154000
Windows 调试工具入门 ( http://www.DbgTech.net ) WinDbg 内核调试常用命令 (1)
- 3 -
输出包括内核 SEH 链表头、 TSS 、 IDT 等重要信息。有了 PCR 地址,还可以通过 dt 命令直接显示 KPCR
结构,
或者直接用 ?? @$pcr 命令显示当前 PCR 信息。
CurrentThread: 8497e030
NextThread: 00000000
IdleThread: 81efc640
DpcQueue:
lkd> !pcr 1
KPCR for Processor 1 at 805d1000:
Major 1 Minor 1
NtTib.ExceptionList: 9f840a3c
NtTib.StackBase: 00000000
NtTib.StackLimit: 00000000
NtTib.SubSystemTib: 805d3130
NtTib.Version: 00cfa74e
NtTib.UserPointer: 00000002
NtTib.SelfTib: 7ffdd000
SelfPcr: 805d1000
Prcb: 805d1120
Irql: 00000002
IRR: 00000000
IDR: ffffffff
InterruptMode: 00000000
IDT: 805d89d0
GDT: 805d85d0
TSS: 805d3130
CurrentThread: 84917030
NextThread: 00000000
IdleThread: 805d51e0
DpcQueue:
lkd> dt nt!_KPCR 805d1000
+0x000 NtTib : _NT_TIB
+0x000 Used_ExceptionList : 0x9f840a3c _EXCEPTION_REGISTRATION_RECORD
+0x004 Used_StackBase : (null)
+0x008 Spare2 : (null)
+0x00c TssCopy : 0x805d3130
+0x010 ContextSwitches : 0xda0ead
+0x014 SetMemberCopy : 2
+0x018 Used_Self : 0x7ffdd000
+0x01c SelfPcr : 0x805d1000 _KPCR
+0x020 Prcb : 0x805d1120 _KPRCB
+0x024 Irql : 0x2 ''
+0x028 IRR : 0
+0x02c IrrActive : 0
Windows 调试工具入门 ( http://www.DbgTech.net ) WinDbg 内核调试常用命令 (1)
- 4 -
+0x030 IDR : 0xffffffff
+0x034 KdVersionBlock : (null)
+0x038 IDT : 0x805d89d0 _KIDTENTRY
+0x03c GDT : 0x805d85d0 _KGDTENTRY
+0x040 TSS : 0x805d3130 _KTSS
+0x044 MajorVersion : 1
+0x046 MinorVersion : 1
+0x048 SetMember : 2
+0x04c StallScaleFactor : 0x91d
+0x050 SpareUnused : 0 ''
+0x051 Number : 0x1 ''
+0x052 Spare0 : 0 ''
+0x053 SecondLevelCacheAssociativity : 0 ''
+0x054 VdmAlert : 0
+0x058 KernelReserved : [14] 0
+0x090 SecondLevelCacheSize : 0
+0x094 HalReserved : [16] 1
+0x0d4 InterruptMode : 0
+0x0d8 Spare1 : 0 ''
+0x0dc KernelReserved2 : [17] 0
+0x120 PrcbData : _KPRCB
lkd> ?? @$pcr
struct _KPCR * 0x81ef8800
+0x000 NtTib : _NT_TIB
+0x000 Used_ExceptionList : 0x9f840a3c _EXCEPTION_REGISTRATION_RECORD
+0x004 Used_StackBase : (null)
+0x008 Spare2 : (null)
+0x00c TssCopy : 0x80154000
+0x010 ContextSwitches : 0x121ea84
+0x014 SetMemberCopy : 1
+0x018 Used_Self : 0x7ffdd000
+0x01c SelfPcr : 0x81ef8800 _KPCR
+0x020 Prcb : 0x81ef8920 _KPRCB
+0x024 Irql : 0x2 ''
+0x028 IRR : 0
+0x02c IrrActive : 0
+0x030 IDR : 0xffffffff
+0x034 KdVersionBlock : 0x81ef7c68
+0x038 IDT : 0x83112400 _KIDTENTRY
+0x03c GDT : 0x83112000 _KGDTENTRY
+0x040 TSS : 0x80154000 _KTSS
+0x044 MajorVersion : 1
+0x046 MinorVersion : 1
+0x048 SetMember : 1
+0x04c StallScaleFactor : 0x91d
+0x050 SpareUnused : 0 ''
+0x051 Number : 0 ''
+0x052 Spare0 : 0 ''
剩余17页未读,继续阅读
李诗旸
- 粉丝: 22
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Windows系统下安装与配置Neo4j的步骤
- 基于matlab实现潮流计算和最优潮流计算的程序1,对毕业设计有一定用处.rar
- 基于大数据学习资源推荐系统的设计与实现(部署视频)-kaic.mp4
- 哈工大形式语言和自动机2022期末含答案
- Windows系统下安装与配置Neo4j的步骤
- 哈希算法(Hash Algorithm)是一种将任意长度的二进制数据映射为较短的、固定长度的二进制值的函数.txt
- Windows系统下安装与配置Neo4j的步骤
- 在二叉树或更复杂的树形结构中,先序输出叶结点.txt
- 列出所有祖先结点的概念通常与树形结构或图论中的节点相关.txt
- 基于matlab实现潮流计算程序,MATLAB潮流计算程序.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0