c-cpp-cookies
  • Полезные материалы
    • About
  • Настройка окружения
    • Git
      • Git CLI
      • Git GUI
      • Git Web
      • Git в среде разработке
        • Visual Studio
        • Visual Studio Code
        • CLion
        • Qt Creator
    • Стандарты (они же ISO)
    • Qt about
    • IDE
      • Visual Studio Code
        • Код в Visual Studio Code
        • Разработка в Visual Studio Code
      • Visual Studio
        • Настройки Visual Studio и проектов
        • Код в Visual Studio
        • Visual Studio + GitHub
      • Qt + Qt Creator
        • Установка Qt и QtCreator
        • Примеры проектов на Qt
      • CLion
        • Настройки CLion
        • Код в CLion
        • CLion + GitHub
    • Компиляторы
      • Clang + Visual Studio
      • Clang + CLion
  • Best practices
    • Антипаттерны и способы улучшения кода
      • 0. Освобождение ресурсов
      • 1. Чтение данных из файла
      • 2. Открытие файлов
      • 3. Объявление переменных
      • 4. Выделение памяти
      • 5. Необдуманный код
      • 6. Глубокие if
      • 7. Длинные if
      • 9. Non-void функции
      • 10. Создание массивов
      • 11. Проверка формата файла
  • Сборка программы
    • Сборка программы
    • Системы сборки / Build systems
      • Проект и решение
      • Make
      • Ninja
      • CMake
      • MSBuild
    • Подключение внешних библиотек
    • Библиотеки
  • Отладка
    • Отладка / Debugging
    • Запуск программы
    • Точки останова / Breakpoints
      • Обычные точки останова / General breakpoint
      • Условные точки останова / Conditional breakpoint
      • Зависимые точки останова / Dependent breakpoint
      • Временные точки останова / Temporary breakpoint
      • Точки трассировки / Breakpoint actions и tracepoints
    • Стек вызовов / Call stack
    • Локальные переменные / Locals
    • Просмотр области памяти / Memory view
    • Исключения / Exceptions
  • Анализ
    • Поиск утечек памяти
    • Санитайзеры
  • Возможности IDE
    • Возможности IDE
    • Продвинутый текстовый редактор
    • Закладки / Bookmarks
    • Платформы / Platforms
    • Конфигурации сборки / Build configurations
    • Шаблонные проекты / Project templates
    • Терминал / Terminal
    • Сборка / Build
    • Запуск программы / Run program
    • Code style
    • Работа с Github Actions
  • Тестирование
    • Тестирование
    • Google test
      • Gtest в VS
      • Gtest в CLion
      • Gtest в VSCode
    • Покрытие кода (code coverage)
Powered by GitBook
On this page
  • Просмотр локальных переменных
  • Редактирование локальных переменных
  • Расчёт значений выражений во время отладки / Evaluate calculation variables in debugging
  • Контрольные значения / Watch
  1. Отладка

Локальные переменные / Locals

PreviousСтек вызовов / Call stackNextПросмотр области памяти / Memory view

Last updated 9 months ago

Просмотр локальных переменных

Текущие значения переменных на шаге исполнения кода обычно можно посмотреть в разделе переменных.

По умолчанию, в Visual Studio сочетанием клавиш для открытия раздела локальных переменных является ALT + 4.

Существует также альтернативный вариант:

По умолчанию, в CLion при запуске отладки окно просмотра локальных переменных открывается автоматически в Debug - Debugging - Variables.

Редактирование локальных переменных

Во время есть возможность на лету изменить значение переменной и продолжить исполнение кода с текущей позиции. Для этого нужно поставить breakpoint и в окне переменных отладчика дважды кликнуть на значение переменной и внести новое значение.

Например, в Visual Studio это выглядит следующим образом:

Расчёт значений выражений во время отладки / Evaluate calculation variables in debugging

Если в процессе отладки возникает ситуация, когда нужно вычислить результат выражения (например, вычисление нового значения переменной), то вместо вместо вычисления на листочке, в уме или через заведение промежуточных переменных можно во время отладки поставит точку останова в нужном месте и выделить курсором выражение.

В появившейся контекстной подсказке / окне подсчёта будет значение выражения.

Visual Studio позволяет закреплять всплывающие подсказки (pinned tooltip), чтобы не выделять код каждый раз.

В CLion окно Evaluate будет поверх кода всё время и пересчёт значения выражения происходит по нажатию на кнопку Evaluate.

Контрольные значения / Watch

Если из списка переменных при отладке вас интересует лишь небольшая часть, то такие переменные можно выделить в отдельную категорию – Watch. Переменные, помещённые в Watch остаются в этом списке и после завершения сеанса отладки. В Watch также можно добавлять выражение, которое будет пересчитываться при обновлении переменных.

По умолчанию, в Visual Studio сочетанием клавиш для открытия окна Watch в Visual Studio является CTRL + ALT + W, {1; 4}.

В watch переменные автоматически не добавляют, их нужно самостоятельно перетащить/вписать в соответствующее поле.

Пример просмотра значения в переменной int и переменной типа char*[]:

Магия, как можно просматривать одномерный массив как двумерный:

  1. Добавляем переменную (для примера возьмём float *arr), хранящуюся наш массив в Watch.

  2. Переходим в Watch.

  3. Делаем cast указатель как двумерный: (float(*)[5])arr,2.

По умолчанию, в CLion при запуске отладки окно Watch открывается автоматически в Debug - Debugging - Variables.