3

我正在尝试编写一个 MiniFilter 驱动程序。我已经在我的 Windows 8.1 机器上启动并运行了 Visual Studio 2013 Update 3 和 WDK,以及来自安装的名为“过滤器驱动程序:文件系统微型过滤器”的 MS 模板。我使用此模板创建了一个新项目,可以使用小批处理文件部署到远程(在我的 LAN)8.1 VM 以安装驱动程序,而不是内置驱动程序安装程序(我认为尚不支持对于微过滤器)。

在这个模板中,有许多调试语句是对 DbgPrint 的调用进行类型定义的。我真的很希望能够在 SysInternals 套件的 DebugView 中查看这些内容。显然,我需要做的就是根据http://msdn.microsoft.com/en-us/library/windows/hardware/ff551519(v=vs.85)DEFAULT在注册表中创建一个名为设置为 0xF的 DWORD .aspx。但是,DebugView 中仍然没有显示任何内容。我在 VM 上以管理员身份启动它,并禁用捕获 Win32。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter

我假设来自 WDK 的部署工具会正确设置内核调试(它在我的 VM 上创建了第二个名为 WDKRemoteUser 的用户并BCDEdit /debug为我运行),但这似乎还不够。有任何想法吗?

4

2 回答 2

0

我认为问题在于测试机器必须以等待附加到它的调试器启动。当我这样做时,内核消息会显示在 Visual Studio 调试器中,我也假设在 DebugView 中。

于 2015-03-27T14:39:11.147 回答
0

Sysinternals DebugView 不需要“调试开启”机器,您必须为 DebugView 使用这样的设置:

从管理员权限开始并设置以下权限:捕获内核、启用详细内核输出、传递

现在关闭 DebugView 并以管理员身份重新打开它。

如果您仍然看不到任何内容,则可能是 typedef 的 DbgPrint() 未包含在部署的驱动程序中。

于 2015-03-28T08:00:12.217 回答