首页
社区
课程
招聘
[求助][求助] Blink 遍历蓝屏
发表于: 2013-1-15 14:31 3524

[求助][求助] Blink 遍历蓝屏

2013-1-15 14:31
3524
PLIST_ENTRY IopTimerQueueHead,pNext;
  PIO_TIMER        pIoTimer;
  IopTimerQueueHead = (PLIST_ENTRY)GetIopTimerQueueHeadAddress();
  if(!MmIsAddressValid((PVOID)IopTimerQueueHead))
  {   
    DbgPrint("MmIsAddressValid 失败: 0x%X\n",(ULONG)IopTimerQueueHead); 
    return;
  }
  pNext = IopTimerQueueHead->Blink;
    pNext = pNext->Blink;
  /*while(pNext!=IopTimerQueueHead)
  {
    pIoTimer = CONTAINING_RECORD(pNext,IO_TIMER,TimerList);
    if ( MmIsAddressValid(pIoTimer) == 0)
    {
      KdPrint(("IO TIMER对象地址 0X%X \n",pIoTimer));
    }
    pNext = pNext->Blink;
  }*/

执行    pNext = pNext->Blink; 系统就挂了 蓝屏了  
主要是不知道怎么去找原因 
希望各位大哥大姐 给点找原因的 思路  在说说 为什么会蓝屏 谢谢

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
用WinDbg跟踪一下,或者把那句写进异常处理
__try
{
        pNext = pNext->Blink;
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
        //异常处理
        KdPrint(("发生了异常,链表无效..."));
        return; //返回
}
2013-1-15 14:51
0
雪    币: 133
活跃值: (563)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
搞定 谢谢 不过学会了 怎么去用 windbg 找错
现在还有个问题就是怎么取 模块地址
2013-1-15 16:02
0
游客
登录 | 注册 方可回帖
返回
//