9

In looking at a DateTime struct in the debugger via SOS.dll, I see...

  0:096> !DumpVC 000007feed1ddff8  000000028036d890 
  Name:        System.DateTime
  MethodTable: 000007feed1ddff8
  EEClass:     000007feecbed6b0
  Size:        24(0x18) bytes
  File:          C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.  dll
  Fields:
                MT    Field   Offset                 Type VT     Attr            Value Name
  000007feed1e1158  40000d6        0        System.UInt64  1 instance 5246421159766325152 dateData

How can interpret "5246421159766325152" as a DateTime? Is there a way I can create a DateTime from this value to get the human-readable version?

4

5 に答える 5

9

!Psscor2.PrintDateTime OBJADDR または!sosex.mdt System.DateTime DATAADDR.

于 2012-05-25T18:19:29.497 に答える
7
DateTime.FromBinary(5246421159766325152)
于 2012-05-25T18:07:41.070 に答える
1

Int64 値がDateTime.MinValue .Ticks とDateTime.MaxValue .Ticks の間にある場合は、Int64 を受け取るDateTimeのオーバーロードされたコンストラクターを呼び出すことができます。

ただし、特定の値はこの範囲外です。@Boo が述べたように、静的なDateTime.FromBinaryメソッドを使用できます。

于 2012-05-25T18:07:35.673 に答える