Skip to content

Version 6

Choose a tag to compare

@Tonycubed2 Tonycubed2 released this 05 Oct 05:00
· 1 commit to main since this release

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.