原来最喜欢用SoftICE,就是因为它可以实现单机内核调试,不过可惜的是他已经停止维护了,无法支持目前的双CPU环境,开发驱动只能转向使用WinDBG,不过WinDBG不支持单机调试,而借助于VMWare就可以轻松的实现这个目的了,现在是我最喜欢的调试方式,介绍给大家.阅读全文>
发表于 @ 2008年04月22日 12:48:00|评论(loading...)|编辑|收藏
利用SoftICE在系统Boot阶段对内核驱动程序进行源码级的调试方法,我本人已经利用这个方法有效的实现了这一目标。阅读全文>
发表于 @ 2006年02月04日 17:33:00|评论(loading...)|编辑|收藏
Windows下驱动程序开发者基本都需要构建一个内核调试环境,这篇短文描述了本人在建立这样一个环境时的一点心得,希望有用。阅读全文>
发表于 @ 2006年02月04日 17:08:00|评论(loading...)|编辑|收藏
在开发Windows驱动程序的时候,我们可以采用SoftICE或者WinDBG等内核调试器来调试驱动程序中存在的Bug,但是如果这些驱动程序发布出去,在客户现场出现蓝屏或者直接重启的现象,这时候如果想找到其中存在的问题就十分麻烦了,这时候Windows的崩溃转储信息就能够帮助我们了解系统崩溃时的系统状况。通过这种方法,本人的实践证明是十分有效的。阅读全文>
发表于 @ 2006年02月04日 16:52:00|评论(loading...)|编辑|收藏
结合Regmon在NT中的实现方法再来谈谈Windows NT/2000内部数据结构。阅读全文>
发表于 @ 2006年01月30日 11:16:00|评论(loading...)|编辑|收藏
WINDOWS系统隐含了不少内部数据结构,其记录着与系统相关的所有重要信息如线程、进程、内核调用等等...阅读全文>
发表于 @ 2006年01月30日 11:15:00|评论(loading...)|编辑|收藏
SoftICE是由美国 Compuware (NUMEGA)公司出品的系统级的程序调试工具, 原本单独发行,但自 4.0.5 版本后不再单独发行,而是包含在 DriverStudio 和 SoftICE Driver Suite 之中,最新版本为 4.3.0。它出色的性能不仅得到专业用户的喜爱,似我等菜鸟更是深深为其强大的功能所折服!在此以我使用 SoftICE 过程中积累的一点小小技巧形成涂鸦之作奉献给大家,希望你能喜欢。阅读全文>
发表于 @ 2006年01月27日 20:31:00|评论(loading...)|编辑|收藏
可扩展性是Windows NT/2000/XP设计的目标之一,其分层驱动模型是可扩展性的最好体现。实现分层依赖于IO管理器的两个重要的设计:1、Windows中的任何一个驱动程序都被设计成Client/Server模式。对于客户端驱动,通过IO管理器的IoCallDriver请求服务端的服务。IoCallDriver实际上根据客户端的调用参数(通过IRP)调用服务端的派遣入口(回调函数)接受客户端的请求。2、IO管理器实现一个分层的数据结构,在DEVICE_OBJECT对象中保存某种关系,自动将请求IRP发给设备栈中的最高的一个设备,由其决定如何处理,或是自身处理,或是向下传递,达到分层的目的。鉴于这种能力,分层驱动模型可以实现很多应用,如文件监控,加密,防病毒等等,由于PNP的引入,这种应用将更加广泛。实际上这种分层模型在Windows NT/2000/XP中无处不在。阅读全文>
发表于 @ 2006年01月27日 20:21:00|评论(loading...)|编辑|收藏