DbgPrintViewer vs DebugView

A free DebugView alternative for OutputDebugString and kernel DbgPrint.

Sysinternals DebugView has been the default way to watch Windows debug output for a long time, and it is a solid tool. DbgPrintViewer covers the same core job, capturing user-mode OutputDebugString and kernel-mode DbgPrint in one list, and adds compound filters, regex search, stack dumps, and ETL trace file analysis on top. This page lays out where each tool fits so you can choose honestly.

What They Share

Both tools capture user-mode OutputDebugString output and kernel-mode debug print output, both run on Windows, both are free, and both let you save what you captured. For simply watching debug messages scroll by, either one does the job.

OutputDebugString and DbgPrint combined in one list with a Source column.

At a Glance

CapabilityDbgPrintViewerDebugView
Capture OutputDebugString (user mode)YesYes
Capture kernel DbgPrintYesYes
Both sources in one unified listYesYes
Stack traces for kernel DbgPrint eventsYesNo
Process name, PID, TID, and source columnsYesLimited
Compound filters with AND/OR logicYesInclude/exclude patterns
Regex, case, and whole-word findYesLimited
Highlight rulesYesYes
Dockable panes and persistent layoutYesLimited
Remote capture over the networkNoYes

Where DbgPrintViewer Fits

Reach for DbgPrintViewer when debug output is busy and you need to work through it rather than just watch it. Compound filters let you combine conditions with AND/OR, highlight rules make the lines you care about jump out, and the process and source columns let you tell at a glance whether a message came from the driver or the application. Opening ETL trace files means a captured session is as easy to analyze as a live one. Layout, theme, delta unit, and your filter and highlight rules persist between runs, so your setup is waiting for you next time.

DbgPrintViewer also captures the call stack behind kernel DbgPrint events, resolving stack frames down to symbol and source where available. DebugView does not document stack capture, so when you need to know where in a driver a message came from, DbgPrintViewer gives you the stack trace instead of just the line.

Where DebugView Still Fits

If your workflow depends on capturing debug output from a remote machine over the network, DebugView handles that case directly and is a reasonable choice for it. There is no harm in keeping both around; they overlap on the basics and each has a few things it does well.

Frequently Asked Questions

Is DbgPrintViewer a DebugView replacement?
For the common local-capture case it is. DbgPrintViewer captures user-mode OutputDebugString and kernel-mode DbgPrint in one unified list, which is what many people use DebugView for. It adds compound AND/OR filtering, regex search, process/source/TID columns, DbgPrint stack dumps, and ETL trace file analysis. DebugView still has the edge for remote capture over the network.
Can DbgPrintViewer capture kernel debug output like DebugView?
Yes. Enable kernel DbgPrint capture while running elevated. There is also a verbose kernel mode for high-detail diagnostics. User-mode OutputDebugString capture can run without elevation.
Can DbgPrintViewer show a stack trace for kernel DbgPrint events?
Yes. DbgPrintViewer captures the call stack behind kernel DbgPrint events and resolves the frames to symbol and source information where available, so you can see where in a driver a message originated. DebugView is still a strong debug-output viewer, but stack traces are not part of its documented feature set.
Does DbgPrintViewer support remote capture?
DbgPrintViewer focuses on local capture of OutputDebugString and DbgPrint. If you need to capture debug output from a remote machine over the network, DebugView remains a good fit for that specific workflow.
Is DbgPrintViewer free?
Yes. DbgPrintViewer is a free download with no paid license key required.

DbgPrintViewer

  • What our customers say about us?