TraceSpy is an open-source and improved version of Sysinternals' DebugView, a program which displays debug output on your PC.

Debug messages are used by Windows and some applications to indicate what they're doing and display information on errors.

This system is aimed at developers, and if you see any messages at all they'll probably be utterly meaningless. Here's a repeated error displayed on our test PC, for instance.

shell\explorer\taskband2\taskband2.cpp(4148)\explorer.exe!00007FF7366978CA: (caller: 00007FFD43167DE3) ReturnHr(1316) tid(479c) 80004005 Unspecified error

What does that mean? We don't have the faintest idea.

But sometimes, just occasionally, you'll find something that regular people can understand. Here's some of what we saw when we launched TraceSpy, hit Start Capture and opened a video in VLC Media Player.

There's status information on what the program does and where it's looking for plugin and temporary files.

core libvlc debug: Copyright © 1996-2016 the VideoLAN team
core libvlc debug: loading plugins cache file d:\Program Files (x86)\VideoLAN\VLC\plugins\plugins.dat
core libvlc debug: recursively browsing `d:\Program Files (x86)\VideoLAN\VLC\plugins'
core libvlc debug: plug-ins loaded: 460 modules


It's not visible from the interface, but when you open any video from VLC it tries to find artwork. Here's what's going on in the background.

core libvlc debug: searching art for video.mkv
lua art finder debug: Trying Lua scripts in C:\Users\mikew\AppData\Roaming\vlc\lua\meta\art
lua art finder debug: Trying Lua playlist script d:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua art finder debug: Trying Lua playlist script d:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
core art finder debug: no art finder modules matched

If another program does something similar TraceSpy might let you know the feature exists, and help you diagnose problems (you could look for the .luac file listed here and see if they existed in some other location).

In much the same way, VLC looks for subtitles of the same name as the file you're using. Here's the debug output.

subtitle demux warning: failed to recognize subtitle type
core input source error: cannot parse file:///C:/Users/mikew/Desktop/video.txt
core stream debug: creating access: file:///C:/Users/mikew/Desktop/

If you're expecting subtitles to play then you could use this information to check the name and location of your subtitle file, make sure it matches VLC's expectations.

If you knew all this already and are just wondering how it improves on or is different to DebugView, here's what the developer has to say:

    - It's 100% .NET
    - It does not need UAC to be disabled nor special rights (unless you want to use ETW traces)
    - It can remove empty lines (which is very handy to get rid of these pesky trace lines sent by Visual Studio or addins, for example...)
    - The traced application is less blocked by this tracing tool than by DebugView, because it's more async
    - The Copy (CTRL-C) operation just copies the traced text, and not the full line (a full line copy feature is there though)
    - The process name of the traced application is optionally displayed instead of the process id (if available and not dead at display time)
    - The find dialog has an autocomplete feature
    - Lines that contain newline characters (\r, \n) are not displayed as normal lines (DbgView does this) but as one big line
    - There is a super duper cool colorizer feature that allows traces colorization using regular expressions.


Some code refactoring


Trace Spy provides a simple and straightforward way to monitor debug output. It's very much a developer's tool, but if you're an experienced PC user - you know your way around the darker corners of Process Hacker, say - then the program might occasionally help with your troubleshooting.