Wait Chain Traversal Overview

From RAD Studio
Jump to: navigation, search

Go Up to Debugging Applications Index

The Wait Chain Traversal feature has been added to the Debugger to help you diagnose application hangs and thread deadlocks. The feature relies on a facility in Windows operating systems that provides information to the Debugger about the wait status of your application's threads in the form of a 'wait chain'.

A wait chain is an alternating sequence of threads and synchronization objects. Each thread waits for the object that follows it, and that object is owned by the subsequent thread in the chain. In the Thread Status view, a new column (Wait Chain) lists the contents of the wait chain.

Though not all synchronization objects are supported, this information can help you see the object that a blocked thread is waiting on. Furthermore, the view reports when a deadlock is detected, a situation in which a cycle of dependencies prevents all of the application's threads from becoming runnable.

See Also