Windows 2000 SP4 内核调试初窥

本文介绍了使用WinDbg对Windows 2000 SP4进行内核调试的经验,包括如何查看_EPROCESS结构,理解ActiveProcessLinks链接表,以及设置断点观察KiRetireDpcList函数的调用。通过调试,揭示了系统在忙碌和空闲时如何处理DPC任务。
摘要由CSDN通过智能技术生成

今天又试了两个 Windows 版本。首先尝试的是虚拟机上安装的 Windows 2000 RTM,也是用 WinDbg 连接到它的 COM2 口的命名管道上进行调试(在 Virtual PC 上指定 COM2 为 \\.\pipe\nt5com2,并在 WinDbg 中连接它)。发现系统已经比昨天调试  NT 4 的情况要好了——系统已经能正常运行了(我猜测是 NT 4 也许要用它那个老版本的 i386kd.exe 才能正常调试,只是个猜测,但那个命令是否支持命名管道还是个疑问,所以放弃了)。但是,在 WinDbg 中 dt nt!_EPROCESS 仍然拿不到任何数据,依然是找不到符号。键入 lm 显示,WinDbg 已经从 Microsoft Symbol Server 上拿到对应的符号文件(PDB)。换用从 Microsoft 网站上下载到的 Windows 2000 RTM Symbol Package 并重新加载,依然没有 _EPROCESS。

然后,试着把 Windows 2000 RTM 升级到 SP4,再作试验。结果,试验成功。

此处先推荐一个网页:http://www.codeproject.com/Articles/7913/Debug-Tutorial-Part-6-Navigating-The-Kernel-Debugg

下面,我记录一下我初步认识 _EPROCESS(执行体进程,Executive Process)结构的一些经历。执行体进程结构是 Windows 执行体用来表示进程的结构。

1. !process 是个扩展命令。它有一个语法 !process 0 <Flags>。其中 <Flags> 可以是 0,表示只显示最基本的信息。!proces

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值