在本地计算机上进行驱动程序调试

时间:2019-10-12 19:26:29

标签: debugging kernel

为什么没有像SoftICE这样的GUI内核调试器,如今它可以在本地计算机上调试内核驱动程序?为什么在Windows 7及更高版本中必须强制使用远程计算机进行驱动程序调试?

1 个答案:

答案 0 :(得分:2)

系统内内核模式调试器是一种极其复杂的软件,因为它必须照顾许多低级内核资源和操作。如果在下一个OS版本中更改了内核内部结构,则必须相应地更新调试器。调试器开发人员必须与内核开发人员一起工作,并且有权访问内核源代码。所有这些使系统内调试器开发变得复杂而昂贵。

在开发系统上进行任何内核模式调试都是危险且不便的过程。即使没有由于BSOD导致FS损坏和/或其他数据丢失,启动开发系统,启动所有必需的应用程序以重新创建方便的开发环境的过程也比重新启动哑目标计算机(硬件或虚拟机)要长得多。 / p>

当硬件计算机价格昂贵时,没有有效的远程调试接口,也没有有效的虚拟机解决方案,SoftICE是可以接受的工具。但是在过去的15年中,Windows中的远程内核调试得到了极大的改进,因此即使WinDbg有很多缺陷和错误,使用WinDbg还是比使用SoftICE更加方便。