使用VMWare workstation调试Windows内核驱动的方法在网上很容易就能找到一大堆文章,不过方法只有那么一个,其原理上都是通过重定向虚拟机串口设备到管道然后使用Windbg程序关联管道进行调试。不过其中有两个小地方需要需要特别留意:
- 在workstation上添加出来的串口设备是"Serial Port 2"。
出现这种现象时可以删除虚拟机上的"Printer"设备,然后再重新添加串口设备。从vmx配置文件来看,workstation虚拟机上的"Printer"设备会占用一个串口,所以导致后续添加的串口设备会从2开始。 - 调试时串口反应特别慢,甚至出现卡死的现象。
出现这种问题是因为没有安装VMTools。但是有时也会遇到自己的驱动程序和VMTools冲突的问题,其实VMTools不需要全部安装,只要安装基本的Tools服务、标准虚拟化SCSI、EFI固件更新、SVGA驱动程序和音频驱动程序即可。这种方法在workstation 15.0上测试通过。