| 
			 
					阅读:1340回复:0
				 
				在2k,xp,2k3中读取特定虚拟地址系统占用率飙升的问题。
					代码: 
							bool DDKAPI HyFixBug(void)
{
  bool bRet = false;
  DWORD *DeadAddr = (DWORD*)0xc0282000; //0xc0282000
   DWORD dwVal = 0;
    
  __try
  {
    dwVal = *DeadAddr;  // wow!
    bRet = true;
  }
  __except(EXCEPTION_EXECUTE_HANDLER)
  {
    DbgPrint("%s Rise Exception!\n",__func__);
  }
  return bRet;
}在 2k(sp4,非PAE模式)下地址读0xc0282000地址内容时,cpu内核占用率飙升到 100%,但系统并没有彻底死机,只是变得很慢。加int 3用softice单步到该句时 softice挂起,但用ctrl+D可以恢复。注意0xc0282000正好是虚拟地址 0xa0800000的PTE虚拟地址,不光这一个地址,访问0xa0800000之后的一段虚拟 地址的PTE都会有如上现象。 在xp(sp3 PAE模式)和2k3(sp1 PAE模式)下访问0xbb000000开始虚拟地址的PTE 时会发生同样现象。 访问其他地址的PTE地址,均无此现象。  | 
	|