This is a mirror of official site: http://jasper-net.blogspot.com/

Quick tips: How to easily identify a thread in a thread object

| Sunday, June 6, 2010
Hello,
It´s been a while since my last post.
I´ve decided to start a new topic regarding debugging posts. It´s called quick tips debugging code and here is my first post on the series.
Sometimes while debugging an issue I have to related different threads. (E.g: on a thread there is a reference to another thread object).

So the question is: how to easily identify a thread in a thread object ?

Below is the result of issuing !do on a thread object ( my sample is based on clr2.0)

0:777> !do 00000000c0559e38
Name: System.Threading.Thread
MethodTable: 00000642788c2360
EEClass: 00000642788c21c0
Size: 104(0x68) bytes
GC Generation: 2
(C:\WINDOWS\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
Fields:
             MT            Field           Offset                 Type VT             Attr            Value Name
00000642788e1428  4000685        8 ....Contexts.Context  0 instance 00000000cfff6a68 m_Context
00000642788cfa38  4000686       10 ....ExecutionContext  0 instance 0000000000000000 m_ExecutionContext
00000642788c1ad0  4000687       18        System.String  0 instance 0000000000000000 m_Name
00000642788c35f0  4000688       20      System.Delegate  0 instance 0000000000000000 m_Delegate
0000064278915788  4000689       28    System.Object[][]  0 instance 000000015001a888 m_ThreadStaticsBuckets
0000064278909f18  400068a       30       System.Int32[]  0 instance 000000015001a9d0 m_ThreadStaticsBits
00000642788cb5f0  400068b       38 ...ation.CultureInfo  0 instance 0000000000000000 m_CurrentCulture
00000642788cb5f0  400068c       40 ...ation.CultureInfo  0 instance 0000000000000000 m_CurrentUICulture
00000642788c0cd8  400068d       48        System.Object  0 instance 0000000000000000 m_ThreadStartArg
00000642788c9618  400068e       50        System.IntPtr  1 instance 793781312 DONT_USE_InternalThread
00000642788ca770  400068f       58         System.Int32  1 instance                2 m_Priority
00000642788ca770  4000690       5c         System.Int32  1 instance              741 m_ManagedThreadId
00000642788e1708  4000691      2d0 ...LocalDataStoreMgr  0   shared           static s_LocalDataStoreMgr
                                >> Domain:Value  000000000018d100:0000000140003108 000000003cb6dd50:0000000160039a18 000000003d34c6d0:00000001502d7a60 <<
00000642788c0cd8  4000692      2d8        System.Object  0   shared           static s_SyncObject
                                >> Domain:Value  000000000018d100:00000000cfff2d40 000000003cb6dd50:00000000900eefb0 000000003d34c6d0:00000001402e0e50 <<

Read more: Deviations

Posted via email from jasper22's posterous

0 comments: