Где .NET помещает значение String?

Я использую dll расширения отладки SOS для проверки структуры памяти типа String, и ниже показан результат.

! dso

ESP/REG  Object   Name

0015EFC0 01c6b9cc System.String    hello,world

! do 01c6b9cc

Name:        System.String

MethodTable: 6de3f9ac

EEClass:     6db78bb0

Size:        36(0x24) bytes

File:        C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089>\mscorlib.dll

String:      hello,world

Fields:
      MT    Field   Offset                 Type VT     Attr    Value Name

6de42978  40000ed        4         System.Int32  1 instance       11 m_stringLength

6de41dc8  40000ee        8          System.Char  1 instance       68 m_firstChar

6de3f9ac  40000ef        8        System.String  0   shared   static Empty

    >> Domain:Value  00331488:01c61228 <<

Теперь мне интересно, где именно находится строковое значение "hello world" хранится?

Спасибо.

14
задан Backwards_Dave 13 October 2019 в 23:39
поделиться