Исследуйте значения во время отладки

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

Выберите Рабочую область

Чтобы изучить переменную во время отладки, необходимо сначала выбрать ее рабочую область. Переменные, которые вы присваиваете через Командное окно или создаете с помощью скриптов, относятся к базовому рабочему пространству. Переменные, которые вы создаете в функции, принадлежат их собственной рабочей области функции. Чтобы просмотреть текущую рабочую область, выберите вкладку Editor. В Function Call Stack поле отображается текущая рабочая область. Кроме того, можно использовать dbstack функция в Командном окне.

Чтобы выбрать или изменить рабочую область для переменной, которую вы хотите просмотреть, используйте один из следующих методов:

  • На вкладке Editor, в разделе Debug, выберите рабочую область из списка Function Call Stack меню.

  • В Командном окне используйте dbup и dbdown функций, чтобы выбрать предыдущую или следующую рабочую область в Стек вызовов функции.

    Чтобы перечислить переменные в текущей рабочей области, используйте who или whos.

Просмотр значения переменных

Существует несколько способов просмотреть значение переменной во время отладки программы:

  • Просмотрите значения переменных в браузере Рабочей области и редакторе переменных.

    Браузер Рабочей области отображает все переменные в текущей рабочей области. В столбце Значение браузера Рабочей области отображается текущее значение переменной. Для получения дополнительной информации дважды щелкните переменную. Откроется Редактор переменных, отображающий содержимое для этой переменной. Вы также можете использовать openvar функция для открытия переменной в редакторе переменных.

  • Просмотрите значения переменных в MATLAB® Редактор.

    Используйте мышь, чтобы выбрать переменную или уравнение. Щелкните правой кнопкой мыши и выберите Evaluate Selection из контекстного меню. В Командном окне отображается значение переменной или уравнения.

    Примечание

    Вы не можете оценить выбор, пока MATLAB занят, например, запустив файл.

  • Просмотрите значения переменных как всплывающая подсказка в редакторе MATLAB.

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

    Всплывающие подсказки всегда включаются при отладке файла в редакторе. Чтобы просмотреть всплывающие подсказки при редактировании файла в редакторе, включите их в настройках MATLAB.

    1. На вкладке Home, в разделе Environment, нажмите Preferences. Затем выберите MATLAB > Editor/Debugger > Display.

    2. В разделе General display options выберите Enable datatips in edit mode.

  • Просмотрите значения переменных в Командном окне.

    Чтобы увидеть все переменные в данный момент в рабочей области, вызовите who функция. Чтобы просмотреть текущее значение переменной, введите имя переменной в Командном окне. Для примера, чтобы увидеть значение переменной n, тип n и нажмите Enter. В Командном окне отображается имя переменной и ее значение.

Когда вы задаете точку останова в функции и пытаетесь просмотреть значение переменной в родительской рабочей области, значение этой переменной может быть недоступно. Эта ошибка возникает при попытке получить доступ к переменной, в то время как MATLAB находится в процессе перезаписи ее. В таких случаях MATLAB возвращает следующее сообщение, где x представляет переменную, значение которой вы пытаетесь изучить.

K>> x
Reference to a called function result under construction x. 
Ошибка возникает, выбираете ли вы родительскую рабочую область при помощи dbup Команду или с помощью Function Call Stack поля в Debug разделе вкладки Editor.

Похожие темы