Please enable JavaScript to view this site.

Thread Validator Help

Navigation: The User Interface > Settings > Global Settings > Data Collection

Hook Trace

Scroll Prev Top Next More

 

The Hook Trace tab allows you to control which debug or trace functions are monitored by Thread Validator.

 

 hook-trace-settings

 

Trace Message Monitoring

 

Thread Validator can collect the output from various debug and trace functions or macros, including:

 

AfxTrace()

TRACE()

OutputDebugString()

 

The TRACE() macros ultimately get routed via OutputDebugString(), so to avoid duplicate output Thread Validator doesn't allow both to be collected at the same time.

 

Collection is enabled via the main hook option, with output available on the Analysis tab.

 

Hook trace messages instructionStep collect TRACE() or OutputDebugString() messages

 

Once hooking is enabled (not the default), choose either:

 

OutputDebugString instructionStep collect OutputDebugString() messages

 

 Collect OutputDebugString call stack instructionStep optionally also collect the callstack for each message

 

Trace (TRACE(), AfxTrace()...) instructionStep collect TRACE() messages

 

 Collect TRACE call stack instructionStep optionally also collect the callstack for each message

 

 

Thread Stall Detection

 

Thread Validator can detect stalled threads by monitoring the time a thread's context switch count is unchanged.

 

When the time for which a thread's context switch count is unchanged exceeds a threshold, the thread is considered stalled.

 

In reality, there may be many reasons why a thread may be (or appear to be) stalled. It may be due to:

 

a time consuming wait operation on a handle object

a wait on an owned critical section

a call to Sleep() or SleepEx()

the thread having been suspended

the thread being in a deadlock

 

Once a thread has been marked as stalled, then if the context switch count starts to change the thread will be marked as non-stalled.

 

Stalled threads are displayed using a different colour col-stalled, as defined on the Lock Colours settings dialog.

 

Detect stalled threads instructionStep enable thread stall detection

 

Time threshold (mS) instructionStep enter the threshold time (in milliseconds)

 

 The default is 10 seconds (10000ms)

 

 

Reset All - Resets all global settings, not just those on the current page.

 

 

Reset - Resets the settings on the current page.