Skip to content

Releases: Tonycubed2/TheWatcher

TheWatcher v10

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 07 Oct 16:30

Automatic loading-screen captures off by default; F12 still works.
Reduced background diagnostics during loading.
Helpers stop when Skyrim exits.
Added dump validation and incomplete-file cleanup.
Added a 1 GB soft storage cap, deleting oldest dumps first.
Kept 8-second gameplay detection and dumps disabled.

Version 6

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 05 Oct 05:00

NEW: Wait chain analysis ("who is waiting for whom")

  • Every capture (automatic and manual) now includes a [WAIT CHAINS] section.
  • For each blocked thread, Windows reports what it is waiting for, which thread owns it, and follows the chain from there.
  • Turns a deadlock into a one-line answer, for example: "thread 56188 waits for a critical section owned by thread 27088 (MAIN)".
  • Flags real deadlocks, where the chain loops back on itself: "DEADLOCK DETECTED" goes at the top of the report and a line goes in the events log.
  • Adds the call stacks of every thread in the chains, so you see where both the waiting thread and the lock owner are stuck. This works even in normal mode, where other threads aren't otherwise recorded.
  • Safe while the game is frozen: it only reads Windows' own records and pauses nothing.

WHY IT MATTERS

  • An endless loading screen or a lockup is often two threads waiting on each other. Before, proving that meant digging through a minidump by hand. Now the report names the lock owner directly.
  • Points straight at the code involved: the stacks show which mod hook or game function each side was in when it got stuck.

LIMITS

  • Windows can see owners of critical sections, mutexes, window messages, COM calls and thread waits.
  • It cannot see who owns events, semaphores, SRW locks or the game's own spin locks, so "no owner known" is common and normal for those.

SETTINGS

  • New bWaitChains=1 in the [Capture] section. Set it to 0 to turn the feature off.

Version 4

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 30 Sep 16:11

Fixed a crash at startup on Skyrim VR 1.4.15. VR doesn't have the "fast travel ended" event that version 3 started listening for, and registering on it crashed the game. Every game-event registration now checks that the event exists on your game version, and skips that one feature with a log line if not.
The log now names VR correctly as the runtime.

TheWatcher v3

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 30 Sep 06:26

TheWatcher v3

This release is based on the updated fork by CageTV and is now the recommended/main download for TheWatcher.

Changes

  • Updated and improved version of TheWatcher
  • Includes changes and fixes from CageTV’s fork
  • Replaces the previous main download as the recommended version

Credits

Special thanks to CageTV for the updated fork and continued work on TheWatcher.

Original project by Tonycubed2.

Installation

Download the attached release archive and install it with your preferred mod manager.

For Mod Organizer 2, install the archive normally and allow it to replace the previous version if prompted.

TheWatcher v1.0.4

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 30 Sep 02:12

TheWatcher v1.0.4

  • Separate TheWatcherDump.exe helper for dump creation
  • Writes report data before slower capture steps
  • Adds guard logging if a capture itself stalls
  • Adds SAME / CHANGED / INCOMPLETE sampling labels
  • Limits sampling to the main thread unless bAllThreadStacks=1
  • Session-wide SKSE log backup
  • Safer default thresholds
  • Normal mode is now the default