搞了4,5天WDK环境,终于搞出来了,先发博客庆祝下,教程有空再补!T-T
双机调试
官方教程
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf–driver
调试
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/provision-a-target-computer-wdk-8-1
COM虚拟机安装教程(win7的话不支持net调试官网上说的好像)
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/attaching-to-a-virtual-machine–kernel-mode-
主机和虚拟机在同一个网络,互相能PING通(都关网防火墙就行)。
双机调试常用的有两种方式,第一种是上面的com比较麻烦,第二种是net调试。
C:\Program Files (x86)\Windows Kits\10\Remote\x64\WDK Test Target Setup x64-x64_en-us.msi
先把这个考到虚拟机执行,然后执行下图操作
在虚拟机开机的到桌面的情况下直接下一步就会自动安装一堆东西,安装完成后可能会有两个报错,微软说这两个报错不是错误可忽略,安装过程虚拟机会黑屏好长一段时间这是正常情况,然后就可以调试了。
下面是win7 64 禁用驱动强制签名本机debugview
#include <ntifs.h>
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
KdPrint(("Entry Driver!\n"));
DbgPrint("Entry Driver-----------------------------123------------!");
return STATUS_SUCCESS;
}
VOID UnLoadDriver(PDRIVER_OBJECT DriverObject) {
KdPrint(("UnLoad Driver!\n"));
}
KdPrint debugview 看不到不知道为什么(可能是Kdprint函数是双机调试vs里显示,DbgPrint函数是debugview显示,这样子)
安装wdk的时候sdk和wdk 版本都要一样
debugview 64 为 Capture Global Win32 打勾 管理员模式
虚拟机win7 64 还得打个补丁
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f