! CLRSTACK Локальные переменные - это типичный тип или тип ссылки
Вопрос
Как я могу определить, является ли локальная переменная типа или тип ссылочного типа?
0: 000>! ClrStack -a
ID Thread os: 0xF74 (0)
Child-Sp RetAddr звонок сайта
000000000023E9C0 000007FEF6B32012 Консолиаположение2.program.main (System.String [])
Параметры:
args = 0x00000000028f3c70.
Местные жители:
0x000000000023E9E0 = 0x000000000000000000.
0x000000000023E9E8 = 0x00000000028F3C90.
0x000000000023E9F0 = 0x00000000000493e0.
Решение
Самый простой способ идентифицировать Sosex. расширение. Команда !mk -l
может дать вам адрес памяти, а также тип. Вот пример, где S - структура, а C является классом
0a:M 002aec64 004700f3 ConsoleApplication1.Program.Main(System.String[])(+0x27 IL)(+0x83 Native) [C:\Users\nsrinivasan\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs, @ 90,17]
[L0]:s:VALTYPE (MT=001a3884, ADDR=002aec70) (MyStruct)
[L1]:c:0x0276c098 (MyClass)
Также Sosex имеет несколько классных вещей, которые не хватает.
Не связан с StackOverflow