在 Windows 8.1 中查看 DbgPrint 消息



我正在尝试编写一个微筛选器驱动程序。我已经在我的Windows 8.1机器上启动并运行了Visual Studio 2013 Update 3和WDK,以及来自MS的模板,称为"筛选器驱动程序:文件系统微型筛选器"。我使用此模板制作了一个新项目,可以使用一个小批量文件部署到远程(在我的 LAN 上(8.1 VM,以安装驱动程序代替内置驱动程序安装程序(我认为微筛选器尚不支持(。

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

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

我相信

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

Sysinternals DebugView 不需要"debug ON"机器,您必须为 DebugView 使用这样的设置:

从管理员权限开始,然后设置以下权限:捕获内核,启用详细内核输出,直通

现在关闭调试视图并以管理员身份重新打开它。

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

最新更新