Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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