必须以管理员权限运行DebugView并启用Capture Kernel,修改注册表Debug Print Filter为0xF,再设置过滤规则才能捕获内核调试日志;否则仅显示用户态输出或无任何日志。

要在Windows系统中用DebugView捕获内核或驱动程序发出的调试输出日志(如DbgPrint、OutputDebugString),必须以管理员权限运行并正确配置过滤与捕获模式,否则看不到任何输出。
下载并以管理员身份运行DebugView
从Sysinternals官网下载最新版DebugView(dbgview.exe),解压后右键单击dbgview.exe → 选择“以管理员身份运行”;普通用户权限下无法捕获内核调试信息,此时界面左下角会显示“Kernel: Not Running”且无任何日志流入。
首次运行时弹出EULA窗口,勾选“I agree”后点击Accept即可进入主界面。
启用内核调试输出捕获
点击菜单栏Capture → Capture Kernel,确保其左侧出现勾选标记;若未勾选,DebugView将只捕获用户态进程的OutputDebugString输出,完全收不到驱动或系统组件的DbgPrint日志。
注意:Windows 10 1607+ 和 Windows 11 默认禁用内核调试输出,需手动开启。按下Win+R,输入regedit打开注册表编辑器,导航至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter,将该键值下的DEFAULT DWORD设为0xF(十六进制),重启后生效。此步骤遗漏会导致Capture Kernel始终无输出。
设置过滤规则避免日志刷屏
方法一:按进程名过滤
点击菜单栏Edit → Filter,弹出对话框,在Include框中输入目标进程名(如mydriver.sys或svchost.exe),支持通配符*;Exclude框留空可保留默认排除项(如System、smss.exe等高频噪音进程)。
方法二:按调试字符串内容过滤
在Filter对话框的Include框中输入关键词,例如"ERROR"或"InitComplete",DebugView将仅显示包含该子串的行。此方式适合从海量日志中快速定位关键事件。
方法三:关闭时间戳与进程ID列(可选)
点击Options → Enable Time Stamp取消勾选,再点击Options → Show PIDs取消勾选,界面更简洁,便于复制纯文本日志。
开始捕获并保存日志
第一步:点击工具栏第一个按钮(Capture Start)或按Ctrl+E启动捕获。
第二步:复现问题场景(如插拔设备、启动服务、触发驱动操作)。
第三步:点击Capture Stop(或Ctrl+E)暂停捕获。
第四步:点击File → Save As,选择路径并保存为.dbg或.txt格式;保存前请确认日志窗口中已有有效条目,若全为空白行,说明内核捕获未启用或驱动未输出调试信息。
保存时若提示“Cannot save empty log”,代表当前缓冲区无匹配日志——此时应检查Capture Kernel是否启用、注册表是否修改、目标模块是否实际调用了DbgPrint。


















