由于对于WDK调试完全不了解。然后从网上找了驱动安装工具,
安装第一次能够打印,卸载后再安装发现能够再继续打印了。 怀疑是因为卸载不完整导致 。 果然重启后安装-》启动又能够继续打印调试信息。
### 但是程序有一个位置一直无打印
WDF_DRIVER_CONFIG_INIT(&config,
KMDFDriver3EvtDeviceAdd
);
KMDFDriver3EvtDeviceAdd 对应启动时应该是被执行了,但是windbg调试什么怎么也不打印 。
程序使用两句打印内容 。
DbgPrint("helloworld debug"); //无打印,不知道为什?
KdPrintEx((DPFLTR_IHVAUDIO_ID, DPFLTR_ERROR_LEVEL, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")); //能够打印
KdPrintEx((DPFLTR_IHVAUDIO_ID, DPFLTR_TRACE_LEVEL, "bbbbbbbbbbbbbbbbbbbb"));//无打印 。
对于调试内容还不了解 。
使用debugview去调试依然没有显示。
### 最后还是在微软官方指定网页找到
devcon 安装卸载可以调试 ,在联机调试中非常的好中,当跑通后,顿时觉得浪费了不少时间在摸索第三方安装工具和debugview,traceview。
### 使用devcon 操作步骤
(1)将devcon 工具复制到驱动调试目录,包含了inf sys文件 (为了避免出现其他可能问题,直接都放到一个目录下调试)
(2)管理员权限打开cmd 控制台
(3)安装 : devcon install 【inf文件】 【hardwareID】 (HardwareID inf文件应该有写)
例子: devcon install helloworld.inf Root\helloworld (开始错误时,是因为我填写了sys文件名)
(4)卸载: devcon disable Root\helloworld
这样可以重复调试和跟踪问了。
明天继续抽时间学习WDK驱动基础。
最后,驱动如果成功会在设备管理器中查看到相关的驱动文件
图片中只是命名不是helloworld而已。