我是windows驱动程序开发的新手,所以如果我的问题太愚蠢了,请容忍我。嗯,我不确定为什么,正如MSDN建议的那样,以及我所理解的方式,主机(例如开发驱动程序)和目标计算机(例如调试驱动程序)需要是两个独立的计算机。为什么要这样分离呢?我确实试图通过在主机上部署和调试一个驱动程序来合并这两个驱动程序,在主机上我正在开发一个驱动程序,它似乎没有受到windows的反对。谢谢。
PS。像这个http://msdn.microsoft.com/en-us/library/windows/hardware/hh698272(v=vs.85).aspx这样的资源让我这么认为。
发布于 2013-01-17 15:19:46
实际上,当您开发和测试驱动程序时,在许多情况下,您将得到系统崩溃(BSOD),并且您的系统可能无法引导。在这种情况下,您的开发+调试器环境也会消失/不可访问。
发布于 2013-01-17 15:38:32
内核调试需要两台单独的机器。由于明显的原因(调试器和被调试器在同一内核中,并且出现死锁),您不能调试自己。当然,目标机器可以是虚拟机器。
发布于 2015-11-27 14:33:48
当我们开发一个驱动程序并对其进行测试时,系统将会崩溃,并且会出现一个蓝屏(称为BSOD --死亡的蓝屏)。这与开发用户模式应用程序的情况不同,它由于内存错误而崩溃。你的驱动程序将作为内核模式应用程序运行,如果它由于任何非法内存操作而崩溃,那么整个系统就会消失。这不是一个要解决的简单问题,您需要登录到安全模式,并从您的系统中删除驱动程序来恢复它。
因此,最好使用目标机器(通常是安装了驱动程序的虚拟机)和主机(我们将使用调试器来调试驱动程序)。
https://stackoverflow.com/questions/14371177
复制相似问题