Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: 阿龙   发起时间: 2010-11-11 10:28 上午   回复: 1

Print Search
帖子排序:    
   2010-11-11, 10:28 上午
jinyuelong 离线,最后访问时间: 2010/8/16 5:44:36 阿龙

发帖数前75位
注册: 2010-08-16
发 贴: 15
2个奇怪的疑惑
Reply Quote
最近学到了中断和异常处理,很多疑惑,下面2个问题尤其让我晕:
在讲到异常中的陷阱的时候,书上说:当控制转移到异常处理程序的时候,所保存的断点CS及EIP的值指向引起陷阱的指令的下一条要执行的指令。下一条要执行的指令,不一定就是下一条指令。因此,陷阱处理程序并不总是能根据保存的断点,反推出产生异常的指令。其中:下一条要执行的指令,不一定就是下一条指令,我不太明白,能举个例子吗?

在列举故障类异常:段不存在故障的时候,书上说:在进入故障处理程序时,保存的CS及EIP指向发生故障的指令;或者该故障作为任务切换的一部分发生时,指向任务的第一条指令。对于:作为任务切换的一部分发生时,指向任务的第一条指令,我也想不太明白,能举个例子吗?

谢谢!!
IP 地址: 已记录   报告
   2010-11-19, 21:42 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 2个奇怪的疑惑
Reply Quote
比如基于调试寄存器触发的变量监视断点触发的是陷阱类异常,如果访问变量的是下面这样的函数调用指令:
call dword ptr [eax+4]
那么异常发生后,CS:EIP指向的就是目标函数的第一条指令而不是CALL语句下的指令。

IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 2个奇怪的疑惑

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.