kd调试的某些技术原理
作者: Tarik Soulami
内核态调试时设置断点,与用户态调试时一样,在指定地址写入0xCC(int3)。断点命
中时,OS暂停运行,调试器接手,在进入”break-in send/receive loop”之前,恢复
断点所在地址的原始字节。因此,你在kd提示符下,看不到断点处的0xCC。这里不讨
论硬件断点、内存(属性)断点之类的。
作者: Tarik Soulami
内核态调试时设置断点,与用户态调试时一样,在指定地址写入0xCC(int3)。断点命
中时,OS暂停运行,调试器接手,在进入”break-in send/receive loop”之前,恢复
断点所在地址的原始字节。因此,你在kd提示符下,看不到断点处的0xCC。这里不讨
论硬件断点、内存(属性)断点之类的。
用Python开发的代码,有些时候会出现一些故障,这些故障很难从Python级调试中排查出原因。此时,需要对Python解释器进行C级调试,以排查更底层的原因。本文以定位Python built-in函数的源码实现为例,展示这种C级调试的片段。