1

主机 Win7_x64,目标 VM Win7_x64 都在同一台物理机上。使用 VS 2012 进行驱动程序调试(Visual Studio 集成 Windows 调试器。)

能够使用 VS 2012 和 WDK 8.0 在主机和目标之间进行配置。

msdn 上提供的 KmdfSmall 驱动程序能够正确安装在目标 VM 上;显示在设备管理器以及目标 VM 上,如我上次查询中所述。

当我按 F5 时,VS 2012 中的“调试器即时窗口”也显示“断点命中”,正如我之前在我的消息中提到的,KdPrintEx 的返回值也是正确的,即 STATUS_SUCCESS。

我是否在 VS 2012 中遗漏了一些设置来显示“KdPrintEx”的味精。意味着为什么我KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "\n KmdfSmallEvtDeviceAdd has been called\n"))没有将任何味精打印到“调试器即时窗口”中。

4

2 回答 2

0

更改了已安装驱动程序以进行调试的目标计算机上的组件过滤器掩码的值。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug 打印过滤器。

在此键下,创建了一个名为“IHVDRIVER”的值,并将该键的值设置为等于 DWORD 值 0x8”。

我选择“IHVDRIVER”是因为在我的 KdPrintEx((DPFLTR_"IHVDRIVER"_ID, DPFLTR_INFO_LEVEL, "\n KmdfSmallEvtDeviceAdd has been called\n")) 和 DWORD 值 0x8 中因为调平。

详情: http: //msdn.microsoft.com/en-us/library/windows/hardware/ff551519 (v=vs.85).aspx

感谢您

关于马特

于 2013-06-15T19:48:19.850 回答
0

KdPrintEx对发布配置没有影响,请确保在调试模式下编译或使用DbgPrintEx.

于 2013-06-15T11:59:23.810 回答