Re: DirBase的地址的疑惑

《软件调试》答疑

DirBase的地址的疑惑


roben 2008-12-23, 13:52 下午
原书175页中提到页目录是按4KB边界对齐,所以DriBase的低12位总是0。但是我在xp的sp2和sp3,还有vista RTM都试过发现DirBase的值基本上低12位都不是0。一直想不出来是为什么,能否指点一下?
谢谢

Re: DirBase的地址的疑惑


格蠹老雷 2008-12-23, 14:42 下午
这是因为启用了PAE,此时CR3寄存器(PCB的DirectoryTableBase[0]字段,也就是DirBase),使用高27位来表示所谓的页目录指针表的基地址,页目录指针表最多只有4个表项,要求是32位对齐的。关于PAE情况下的地址翻译,请参见下面的文章:
http://advdbg.org/blogs/advdbg_system/articles/627.aspx

Re: DirBase的地址的疑惑


roben 2008-12-23, 16:39 下午
太谢谢张老师

Powered by Community Server Powered by CnForums.Net