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内核调试

帖子发起人: 哈哈我哦   发起时间: 2014-08-23 12:19 下午   回复: 1

Print Search
帖子排序:    
   2014-08-23, 12:19 下午
dcg1985362 离线,最后访问时间: 2013/12/18 11:59:33 哈哈我哦

无等级
注册: 2013-12-18
发 贴: 1
张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?
Reply Quote

windows在处理调试异常的优先级是多高?intel CPU说高于所有硬件中断,那么也就是说CPU执行异常处理时不可能切换线程了。我于是把异常处理函数DbgpfForwadException改成无限循环,结果发现系统还能工作,只是很卡,而且还能单步这个异常中断到内核调试器,说明还是有其他中断抢占目前的调试异常处理。另外在调试处理中最后居然调用了KeWaitForSingleObject函数,这更说明了调试异常处理是会被抢占的,单intel CPU没有官方说明,这是怎么回事呢?它只说了同时发生先处理调试异常。

期待您的回复


IP 地址: 已记录   报告
   2014-08-24, 22:22 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?
Reply Quote

很好的问题,思考的很深入。

原因是CPU手册中的定义的优先级是指异常和中断的报告顺序,引用下原文:

If more than one exception or interrupt is pending at an instruction boundary, the processor services them in a predictable order.

 


IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?

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