Как увидеть мои управляемые объекты на стеке?
Вопрос
Я использую sos.dll в VisualStudio для отладки моей программы C #. Программа так же ниже.
Команда отладки ! Dumpstackobjects..
class Program
{
static void Main()
{
Int32 result = f(1);
}
static Int32 f(Int32 i)
{
Int32 j = i + 1;
return j; <===========BreakPoint is here
}
}
После ввода команды «! DSO» в немедленном окне Visual Studio, результат как ниже:
ID Thread OS: 0xF6C (3948)
Название объекта ESP / REG
Почему нет ничего? Я думал, что есть args I и локальная переменная j.
Спасибо за мой ответ на мои наивные вопросы ...
Решение
!dumpstackobject
Дампы ссылок на стек к объектам. Т.е. вы не увидите типы ценностей с этой командой. Использовать !clrstack -l
чтобы увидеть местных жителей (использование -p
увидеть параметры, а также -a
для обоих).
Не связан с StackOverflow