近来在调试一个跟踪系统内存的驱动,可以参考的书是少之又少,当然Mark Russinovich写的Inside Windows 2000和Inside windows XP/2003是不可或缺的资料,可是在跟踪一个关键问题的时候,发现原来Mark Russinovich也犯下了一个重要错误!他在书上说从windowsXP开始,各个进程的Working set是由一个新的同步对象EX_PUSH_LOCK来同步存取的,我按照他的指示,做了锁定和解锁,发现----居然不工作!!!努力研究了好几天,终于发现,XP到XP1根本就没有采用EX_PUSH_LOCK, 还是用的早先的FAST_MUTEX来保持同步。。。。。。害我跟踪了将近三天啊。
写下来自勉,不能随便相信别人,哪怕他是世界公认的牛人。