在Windows 8.1中查看DbgPrint消息

时间:2014-10-28 13:39:23

标签: windows-8.1 wdk sysinternals minifilter debugview

我正在尝试编写一个MiniFilter驱动程序。我已经在我的Windows 8.1机器上启动并运行了Visual Studio 2013 Update 3和WDK,以及安装了MS的模板,名为“Filter Driver:Filesystem Mini-filter”。我用这个模板创建了一个新项目,允许部署到远程(在我的LAN上)8.1 VM和一个小批处理文件来安装驱动程序代替内置驱动程序安装程序(我认为还不支持)对于minifilters)。

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

Sysinternals DebugView不需要"调试ON"机器,您必须使用DebugView的这种设置:

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

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

如果你仍然看不到任何东西,那么typedef&#ddgPrint()可能不包含在已部署的驱动程序中。