SkillAgentSearch skills...

DebugViewPP

DebugView++, collects, views, filters your application logs, and highlights information that is important to you!

Install / Use

/learn @CobaltFusion/DebugViewPP
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Contact information

Discord Invite Mastodon Follow Github Follow

Debugview++ v1.20.x.x (Summer 2025 Update coming soon!)

  • new features: capture kernel messages, verbose mode and pass-through mode, big thanks to x64bugreport and 593749519 for providing information, contributions and test scenarios.
  • fixed #365: support for messages from UWP applications (poorly tested), feedback welcome!
  • fixed #396: depending on the runtime dlls, this broke when we moved to cmake, now we link the runtime statically again.
  • fixed title bar not being updated when 'Global Win32' was toggled.
  • new commandline argument /tab:<name> to select a tab that get focus at startup, contributed by KirisameMarisa
  • removed color support from 'include' filter by request (a highlight filter can still achieve the same result), contributed by Ishmaeel.
  • faster building by adding /MP.

-- Notice:

  • This project is in low-maintenance mode, this means new features are only added if PRs are provided with tests.
  • Updates are limited to keeping the status-quo and OS-related updated.
  • I'm looking for maintainers, so if you would like to join me in bugfixing or adding features, please let me know.
  • 2022 update: The project was migrated to VS2022 and boost 1.80, WindowsXP (32 bit) support was removed.
  • the OutputForwarder companion extension for VS2022 can be found in the Visual Studio Marketplace
  • nuget.exe can be downloaded from https://www.nuget.org/downloads

Debugview++, currently at v1.9 (2024 Update!)

All Releases Current Release Appveyor Build status

Version 1.8.x

Download latest release, I would really like to hear what you think! Leave any comments here

Download head version ** only pick this if your feeling lucky and want to try the latest commits **

Questions? Find me at @janwilmans.bsky.social or chat on discord as 'janwilmans'. There is also a slack channel. If you need an invite, go here.

Debugview++ started as a viewer for Win32 OutputDebugString messages in the style of Sysinternals DebugView. However, it can now be attached to virtually any other kind of logging, such as:

  • tailing ascii and UTF logfiles (just drag it onto the window)
  • Android ADB (or any console based standard output)
  • serial ports (using plink)
  • sockets, telnet or ssh ports (also using plink)
  • it can listen for UDP messages, handy in distributed systems

See examples down below.

Sponsors

This project is sponsored by:

Resharper logo

Build in code analysis, handy auto-fixes and refactoring options

Backtrace logo

Gather and analyse crash information.

Incredibuild logo

We use Incredibuild to make use of all cores of multiple machines to accelerate building our C++ projects.

So when is this Debugview++ thing useful?

  • first of all, with debugview++ you can see messages from different processes, not just 'attached' processes.
  • also: filtering, coloring and linking. To make sense of a large amount of information humans need to filter it or order it understand it. Also it helps if important events have different colors to quickly interpret the occurring patterns.
  • finally, filtering is nice, but sometimes you need to see a line in its context to understand it, this is where linked views can help to quickly switch between a fully filtered view and a fully detailed view.

New in stable version 1.8.x:

  • bugfixes (namely in file-tailing)
  • tested on windows 10
  • last version with (official) XP support (v141_xp target)
  • internal refactoring from boost to C++11/14 constructs
  • better commandline support using docopt.cpp
  • added filtering command line options
  • no other new features planned, if you're missing something you need, file an issue!

Features we dream about and will create when we choose to spend the time:

  • a gantt chart-like view, a horizontal timeline, with bars/flags/signs on it to identify events
  • a better plugin based input system
  • transparent background streaming to disk
  • proper memory limits

Known issues:

  • the history limit doesn't work right, this is troublesome for long-running duration-tests. A workaround is to send 'DBGVIEWCLEAR' before each test-cycle (this clears all logs from memory).
  • there is no 'pass-through' mode like the original dbgview had, if you can help me implement this, please contact me.
  • same goes for catching kernel messages, help wanted.

References

OutputDebugString on MSDN

Screenshot

DebugView++ Screenshot

Here are some features:

  • single selfcontaining executable, setup is provided but not required
  • minimal delay of the traced application, compared to the original dbgview a factor of 10 better.
  • fast and responsive user-interface, even with +50.000 incoming lines per second
  • runs without prerequisites on WinXPSP3 and up (v1.5 and earlier also on WinXPSP2)
  • in-memory compressed logbuffer using google snappy (typically -50% RAM consumption)
  • tailing files (drag ascii or UTF files into debugview to tail it)

And more features:

  • capture both Win32 and Global Win32 messages
  • tabbed views
  • resolve process PID to name and track their lifetime
  • filter by process or message
  • advanced filtering, exclude, track, stop, clear (optionally using regular expressions)
  • line and token highlighting (create your own syntax highlighting)
  • SAIT (search-as-I-type) + token highlighting
  • bookmarks
  • statusbar shows detailed log/view/selection information
  • open saved logs for post-mortem analysis
  • commandline version
  • capture stdin piped messages, allows you to connect any kind of logging
  • beep-filter for monitoring without seeing the screen (To hear it make sure a 'Default Beep' sound is defined in Control Panel->Sounds)
  • clear Log now releases the message buffer instead of reusing the memory (useful when running debugview for a very long time)
  • tailing logfiles over samba network (experimental)
  • support for reading and tailing Sysinternals Dbgview logfiles (in the four most common formats)
  • socket listening, Log->Sources->Add can add TCP and UDP listeners, the protocol is sending raw newline terminated strings. Multiple lines can be send in one packet.
  • dbgview agent client mode allowing logging of kernel messages
  • timezone independent and human readable timestamps in the logfiles
  • add basic support for unicode, UTF-8 via OutputDebugString and both UTF8 and UTF16 with BOMs when reading files
  • View->Process Colors, easy way to give every process its own color!
  • Options->Link views, best effort to synchronize the line-selection over all views

Download old version (stable, dated 20 Sept 2015)

Screenshot demonstrating bookmarks and highlighting features.

Highlighted:

  • regex (token filter): [^\s]*\\[\\\w+\.\s]+ filenames in blue
  • regex (token filter): 0x\w+ hexadecimal numbers in red
  • regex (highlight filter): Unittest lines with the word 'Unittest' have a lightgreen background
  • a doubleclick on 'bytes' causes all instances of 'bytes' to highlight in yellow

See http://www.cplusplus.com/reference/regex/ECMAScript/ for all options for supported regular expressions

Android ADB example:

DebugView++ Screenshot

Screenshot demonstrating connecting to ADB logcat (Android Debug Bridge)

More examples

Connect any pipe:

To connect directly to a port or service, plink can be used, make sure an instance of debugview++ is already running before running this command:

plink -ssh -batch -v 192.168.0.1 2>&1 | debugview++

Notice that 2>&1 is used before the pipe (|) symbol to redirect stderr to stdout.

Connect to sysinternals dbgview agent for kernel messages:

Example: connect to sysinternals DbgView Agent, first start Dbgview.exe /a /k (/k for kernel messages) And connect DebugView++ using Log->Connect DebugView Agent. Note that 'Log->Connect DebugView Agent' assumes the agent is running on the same workstation as DebugView++ so it connects to 127.0.0.1. If you need to connect to a remote agent, use Log->Sources...->Add->DbgView Agent and fill in the ip-address.

Use RegexGroups + Token Highlighting:

Suppose you want to highlight some dat

View on GitHub
GitHub Stars1.2k
CategoryDevelopment
Updated13h ago
Forks168

Languages

C++

Security Score

100/100

Audited on Apr 1, 2026

No findings