【发布时间】:2020-02-09 22:52:14
【问题描述】:
为什么现在没有像 SoftICE 这样的 GUI 内核调试器,它允许在本地机器上调试内核驱动程序?为什么在 Windows 7 及更高版本中必须使用远程计算机进行驱动程序调试?
【问题讨论】:
为什么现在没有像 SoftICE 这样的 GUI 内核调试器,它允许在本地机器上调试内核驱动程序?为什么在 Windows 7 及更高版本中必须使用远程计算机进行驱动程序调试?
【问题讨论】:
在系统内核模式调试器是一个极其复杂的软件,因为它必须处理许多低级内核资源和操作。如果内核内部在下一个 OS 版本中发生更改,则必须相应地更新调试器。调试器开发人员必须与内核开发人员一起工作,并且可以访问内核源代码。所有这些都使系统内调试器开发变得复杂且昂贵。
在开发系统上进行任何内核模式调试都是一个危险且不方便的过程。即使没有由于 BSOD 导致 FS 损坏和/或其他数据丢失,启动开发系统、启动所有必需的应用程序以重新创建方便的开发环境也比重新启动愚蠢的目标机器(硬件或虚拟机)要长得多。
当硬件计算机价格昂贵,没有高效的远程调试接口,也没有高效的虚拟机解决方案时,SoftICE 是一个可以接受的工具。但是在过去的 15 年里,Windows 中的远程内核调试有了很大的改进,所以使用 WinDbg 比使用 SoftICE 方便得多,尽管 WinDbg 有很多缺陷和错误。
【讨论】: