Re: 张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?

Windows内核调试

张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?


哈哈我哦 2014-08-23, 12:19 下午

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

期待您的回复

Re: 张老师,看了你软件调试那本书,我还是有个问题捆饶我几个月了,能帮我解答下么?


格蠹老雷 2014-08-24, 22:22 下午

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

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

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

 

Powered by Community Server Powered by CnForums.Net