Локальные переменные / Locals
Просмотр локальных переменных
Текущие значения переменных на шаге исполнения кода обычно можно посмотреть в разделе переменных.
По умолчанию, в Visual Studio сочетанием клавиш для открытия раздела локальных переменных является ALT
+ 4
.
Существует также альтернативный вариант:
Редактирование локальных переменных
Во время есть возможность на лету изменить значение переменной и продолжить исполнение кода с текущей позиции. Для этого нужно поставить breakpoint и в окне переменных отладчика дважды кликнуть на значение переменной и внести новое значение.
Например, в Visual Studio это выглядит следующим образом:
Расчёт значений выражений во время отладки / Evaluate calculation variables in debugging
Если в процессе отладки возникает ситуация, когда нужно вычислить результат выражения (например, вычисление нового значения переменной), то вместо вместо вычисления на листочке, в уме или через заведение промежуточных переменных можно во время отладки поставит точку останова в нужном месте и выделить курсором выражение.
В появившейся контекстной подсказке / окне подсчёта будет значение выражения.
Visual Studio позволяет закреплять всплывающие подсказки (pinned tooltip), чтобы не выделять код каждый раз.
Контрольные значения / Watch
Если из списка переменных при отладке вас интересует лишь небольшая часть, то такие переменные можно выделить в отдельную категорию – Watch. Переменные, помещённые в Watch остаются в этом списке и после завершения сеанса отладки. В Watch также можно добавлять выражение, которое будет пересчитываться при обновлении переменных.
По умолчанию, в Visual Studio сочетанием клавиш для открытия окна Watch в Visual Studio является CTRL
+ ALT
+ W
, {1; 4}
.
В watch переменные автоматически не добавляют, их нужно самостоятельно перетащить/вписать в соответствующее поле.
Пример просмотра значения в переменной int и переменной типа char*[]:
Магия, как можно просматривать одномерный массив как двумерный:
Добавляем переменную (для примера возьмём
float *arr
), хранящуюся наш массив в Watch.Переходим в Watch.
Делаем
cast
указатель как двумерный:(float(*)[5])arr,2
.
Last updated