2014-10-28 91 views
3

我正在尝试编写一个MiniFilter驱动程序。我在Windows 8.1上安装了Visual Studio 2013 Update 3和WDK,并安装了名为“Filter Driver:Filesystem Mini-filter”的MS安装模板。我用这个模板做了一个新项目,使用一个小批处理文件启动8.1远程虚拟机(在我的局域网)上安装驱动代替内置的驱动安装程序(我认为目前还不支持)为小型过滤器)。在Windows 8.1中查看DbgPrint消息

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

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

回答

0

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

0

Sysinternals的DebugView中并不需要“调试ON”的机器,你必须使用这种设置对于DebugView中:

开始用管理员权限,以下来设定的: 捕获内核,启用详细内核输出,通 - 通过

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

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