TTD Thread Objects
Description
TTD Thread objects are used to give information about threads and their lifetime during a time travel trace.
Properties
Property | Description |
---|---|
UniqueId | A unique ID for the thread across the trace. |
Id | The TID of the thread. |
Children
Object | Description |
---|---|
LifeTime | A TTD range object that describes the lifetime of the thread. |
ActiveTime | A TTD range object that describes the time the thread was active. |
Example Usage
Use this dx command to display all of the threads in the array.
0:0:000> dx -g @$curprocess.TTD.Threads
=================================================================================================================
= = (+) UniqueId = (+) Id = (+) Lifetime = (+) ActiveTime =
=================================================================================================================
= [0x0] : UID: 2, TID: 0x2428 - 0x2 - 0x2428 - [0:0, 6F0C4:0] - [50C63:0, 6F0C4:0] =
= [0x1] : UID: 3, TID: 0x3520 - 0x3 - 0x3520 - [0:0, FFFFFFFFFFFFFFFE:0] - [5115A:0, 56B07:0] =
= [0x2] : UID: 4, TID: 0x18E8 - 0x4 - 0x18e8 - [0:0, FFFFFFFFFFFFFFFE:0] - [52F65:0, 56B1E:0] =
= [0x3] : UID: 5, TID: 0x5690 - 0x5 - 0x5690 - [0:0, FFFFFFFFFFFFFFFE:0] - [5300D:0, 5D4FA:0] =
= [0x4] : UID: 6, TID: 0x46FC - 0x6 - 0x46fc - [0:0, FFFFFFFFFFFFFFFE:0] - [53782:0, 5433B:0] =
= [0x5] : UID: 7, TID: 0x58D0 - 0x7 - 0x58d0 - [0:0, FFFFFFFFFFFFFFFE:0] - [542FE:0, 543B9:0] =
= [0x6] : UID: 8, TID: 0x950 - 0x8 - 0x950 - [0:0, FFFFFFFFFFFFFFFE:0] - [543C4:0, 544B8:0] =
= [0x7] : UID: 9, TID: 0x4514 - 0x9 - 0x4514 - [0:0, 6D61B:0] - [5DBBD:0, 6D61B:0] =
=================================================================================================================
Use this dx command to display information about the first thread in the array.
0:0:000 dx -r2 @$curprocess.TTD.Threads[0]
@$curprocess.TTD.Threads[0] : UID: 2, TID: 0x2428
UniqueId : 0x2
Id : 0x2428
Lifetime : [0:0, 6F0C4:0]
MinPosition : Min Position [Time Travel]
MaxPosition : 6F0C4:0 [Time Travel]
ActiveTime : [50C63:0, 6F0C4:0]
MinPosition : 50C63:0 [Time Travel]
MaxPosition : 6F0C4:0 [Time Travel]
The [Time Travel] links provide a link to SeekTo() the specific postion in the trace when the thread was active.
0:0:000> dx @$curprocess.TTD.Threads[0].@"ActiveTime".@"MinPosition".SeekTo()
Setting position: 50C63:0
@$curprocess.TTD.Threads[0].@"ActiveTime".@"MinPosition".SeekTo()
(40b4.2428): Break instruction exception - code 80000003 (first/second chance not available)
Time Travel Position: 50C63:0
ntdll!NtTestAlert+0x14:
00007ffb`e3e289d4 c3 ret
See Also
Time Travel Debugging - Introduction to Time Travel Debugging objects