本文内容:
说一下怎么才能够调试FAT文件系统,其实步骤比较简单,但是当我第一次想要调试它的时候还是一头雾水,不知道从何下手,驱网上一个网友(dreamsity,again,Thank you!)告诉了我一些基本的步骤和注意事项,我按自己的实践整理成了本文,希望对后来者有所帮助。
调试动机:
没有人愿意没事就调着文件系统玩儿,而且,要实现基于源代码级的调试,你得首先要有源代码才行。我是在自己所做的文件系统过滤驱动无法在FAT文件系统下通过测试时(BOSD),才想起要调试一下文件系统。况且WinDbg蓝屏提示显示是Fastfat.sys中某个函数出错,这更加坚定了我要调试一下文件系统的想法。
步骤一:编译你自己的Fastfat.sys
首先你要编译一个调试版的FAT,Windows的WDK中有fastfat的源代码,直接使用WDK的编译环境就可以编译一份可以调试的Fastfat.sys(使用checked build),需要注意你要使用该FAT文件系统的操作系统类型,不同的操作系统对应不同的Fastfat源代码,也对应着不同的编译环境。
步骤二:替换目标操作系统上的Fastfat.sys
按照网友dreamsity的指示,最好是系统盘是NTFS,然后再有一个从盘你格式成Fat格式的,在这里一个重要的建议是很有必要使用虚拟机来调试文件系统。我使用的是WinDbg+VirtualPC,效果很好,强力推荐,呵呵。关于怎么使用WinDbg和虚拟机来调试驱动,我的另外一个帖子有很详细的入门介绍,可以用作入门参考。接下来你要做的,