Repository navigation
Releases: CobaltFusion/DebugViewPP
Release list
v1.30.0.0
Full Changelog: v1.22.1...1.30.0.0
- boost is no longer used: the build does not download it any more, the unit tests use GoogleTest (fetched by CMake when it configures)
- the configuration (.dbconf) and the filter files are saved as JSON. Files of older versions (XML) are still read: they are converted when loaded and the old file is kept as
.archived - fixed: the window froze while a large amount of debug output was received (2 million lines took 30 seconds), it responds immediately now
- fixed: 'DebugViewConsole -u' crashed, it sends a default test message now
- releases are made with utils/release.py (clean build, git tag, zip and GitHub release), see the top of the script
v1.22.0.0
Full Changelog: v1.21.0.1...v1.22.0.0
- the whole message is shown in a tooltip when hovering the message column (fixes #372)
- dropping an empty file on the window no longer fails, it is tailed until content appears.
- Copy View is faster for a large log: when the filters are not changed in the dialog, the lines of the view are copied instead of filtering the whole log buffer again (fixes #284)
- changes of the filters of a view can be undone with Ctrl+Z and redone with Ctrl+Y (or Ctrl+Shift+Z) while the log has the focus, also in the View menu: adding a filter with Ctrl+E, Ctrl+I, Ctrl+H, Ctrl+K, excluding lines, adding process filters and the filter dialog (fixes #278)
- documentation: Views, filters and the log buffer explains what a view is, how filters apply to views (not to the memory buffer), and how reset view, reset to line and clear view work (fixes #316)
- new: dark theme (Options, Dark Theme) for the log: dark background, text, selection and match colors, dark header and scrollbars and a dark title bar. It is remembered between runs. The menu, toolbar and status bar are drawn by Windows and keep their colors (fixes #368)
- DebugView++ is per-monitor DPI aware: on a monitor with scaling (125%, 150%, ...) it is no longer stretched (blurry) by Windows, the font and columns are scaled and are scaled again when the window is moved to another monitor (fixes #321). The toolbar icons are not scaled yet.
- the history size (Log, History...) works: the oldest messages are removed when there are more, in blocks of 400, and the setting is remembered between runs (fixes #409)
- pressing Enter in the log view sends an Enter to the stdin of the processes that DebugView++ is running (for batch files with 'pause', or programs that wait for Enter), (fixes #293)
- the width and order of the columns, as changed by the user, are saved in the dbconf (and in the settings) and are kept when columns are shown or hidden (fixes #346)
- DebugViewConsole (and DebugView++) can run as a windows service: in session 0 the global DBWIN_BUFFER is the same as the local one, so no second reader is created (fixes #349)
- the status bar shows 'Searching', 'Found' or 'Not found' for the text being searched, as soon as the search starts and ends (fixes #366)
- the commandline of a process is logged with its 'has terminated' message (fixes #401), this needs Windows 8.1 or later.
- boost is no longer used: the build does not download it any more (WTL and Snappy come from Nuget), the unit tests use GoogleTest, which CMake fetches when it configures the project.
- configuration files are JSON: File, Save Configuration (.dbconf) and the filter files (Save Filter in the filter dialog) write JSON. Files written by older versions (XML, or the JSON of those versions) are still read: when they are loaded they are converted, the JSON gets the name of the file (a filter file x.xml becomes x.json) and the old file is kept next to it as x.dbconf.archived (or x.xml.archived), it is never deleted. A conversion that is not possible (read-only folder, x.json exists already) is reported and the file is loaded anyway. The registry settings are not changed.
- fixed: 'DebugViewConsole -u' crashed, it has no argument, it sends a default test message now.
v1.21.0.1
Debugview++ v1.21
- new commandline argument /delay: to deliberately slow down every process that calls OutputDebugString (fixes #400)
- new: UTF-8 messages are decoded properly (falling back to the ANSI code page for invalid UTF-8) and a leading UTF-8 BOM is stripped, contributed by Shan Zhou (#425)
- fixed #415: lines longer than ~2340 characters were invisible (GDI cannot draw text wider than 32767 pixels), selecting text in such lines works too.
- fixed #301: loading a DebugView++ logfile no longer replaces the process names with the filename.
- kernel messages: the driver is now loaded with NtLoadDriver and is placed in System32\drivers (it was System32\driver), a different driver file is replaced, and failures give a clear error message, thanks to x64bugreport (#413).
- kernel messages: fixed lost messages caused by the 1Hz poll rate and stale capture state on start/stop, contributed by Jiahe Wang.
- fixed wildcard filters: '?' matches exactly one character instead of also matching nothing.
- fixed a crash when a tailed file disappears or is rotated.
- fixed lines from tailed Sysinternals and DebugView++ logfiles occasionally being parsed as plain text (a race when the file reader started).
- fixed an out-of-bounds read when receiving a short message from a Dbgview agent.
- fixed a data race between adding/removing log sources and processing messages, and a process handle leak for messages of removed sources.
- fixed timestamps going back a day after midnight in Sysinternals logfiles saved in a US region format, which also failed for logs spanning more than a month.
- more reliable tests (tailing tests no longer depend on fixed sleeps), contributed by Shan Zhou; stricter Str()/WStr() conversions that no longer print a pointer instead of text.
- build: all compiler and linker warnings are errors now, third party headers are included as SYSTEM, vscode settings and recommended extensions were added, and CI was updated.
v1.20.0.0
Debugview 1.20.0.0 [stable release for 2026]
New features
- initial support for for messages from UWP applications
- capture kernel messages, verbose mode and pass-through mode.
- new commandline argument /tab: to select a tab that get focus at startup
Bug fixes
- unicode (UTF-16) messages where messed up (depending on windows configuration)
- every 5000th line was not visible in the view (fixed) since version 1.9.0.28
Detailed changes
- Fix typos in README.md by @justanotheranonymoususer in #397
- Use a statically-linked runtime library by @m417z in #399
- Update comments docs section link by @guspan-tanadi in #403
- Add necessary permissions for packaged applications (fixes #365) by @m417z in #398
- force wstringbuilder to return a wstring via WStr method by @saltybelajo in #408
New Contributors
- @m417z made their first contribution in #399
- @guspan-tanadi made their first contribution in #403
- @saltybelajo made their first contribution in #408
Full Changelog: v1.9.0.28...v.1.20.0.0
antivirus heuristics/detection
Just like last release, I ran the executable through https://www.virustotal.com/ and got a clean result.
The UPX compressed version has some false-positives, but rest assured, this is exactly the same version of the executable, just UPX compressed.

v1.9.0.28
Full Changelog: v1.9.0.24...v1.9.0.28
This release is a maintenance update, and I tried to make https://www.virustotal.com/ happier
debugviewpp-1.9.0.28-win64.zip contains both a plain .exe and an UPX packed executable (smaller)
Debugviewpp.exe has no malware detections:

Debugviewpp-small.exe has 3 detection false-positives, caused by UPX (which is unfortunate, but harmless)

v1.9.0.24
Debugview++ v1.8.0.103 - 64 bit version
- Updated to WTL 10.0.320
- minor warning fix
Debugview++ v1.8.0.95 - 64 bit version
- added SendMessage support (by Twitter "request")
- moved to WTL 10.0.10077
Debugview++ v1.8.0.86 - 32 bit version
- cleaned up the code using clang-tidy
- fixed an UDP bug where strings with embedded \0 were messing up messages
Debugview++ v1.8.0.86 - 64 bit version
- cleaned up the code using clang-tidy
- fixed an UDP bug where strings with embedded \0 were messing up messages