Отладьте код в Live Editor

Чтобы диагностировать проблемы в ваших live скриптах или функциях, отладьте свой код в Live Editor. Существует несколько способов отладить в Live Editor:

  • Вывод Show путем удаления точек с запятой.

  • Запуститесь к определенной строке кода и приостановите использование кнопки.

  • Продвиньтесь в функции и скрипты, в то время как приостановлено при помощи кнопки.

  • Добавьте точки останова к своему файлу, чтобы позволить делать паузу в определенных строках, когда вы запуститесь.

Вывод Show

Простой способ определить, где проблема происходит в вашем live скрипте или функции, к выводу show. Чтобы показать вывод для строки, удалите точку с запятой из конца той строки. Live Editor отображает каждый вывод со строкой кода, которая создает его, давая возможность определять, где проблема происходит.

Например, предположите, что у вас есть скрипт под названием randomdata.mlx, который строит график вектора случайных данных и проводит горизонтальную линию на графике в среднем значении.

Чтобы отобразить вывод функции rand в строке 2, удалите точку с запятой в конце строки. К числам строки дисплея в Live Editor, если они не видимы, перейдите к вкладке View и нажмите кнопку Line Numbers. MATLAB® отображает значение r.

Отладьте Используя запущенный к здесь

Вывод Showing полезен, если вы хотите отобразить состояние единственной переменной. Чтобы исследовать состояние всех переменных в рабочей области, запустите свой live скрипт или функционируйте и затем сделайте паузу прежде, чем запустить заданную строку кода.

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

Например, нажмите кнопку слева от строки 2 в randomdata.mlx. MATLAB запускает randomdata.mlx, запускающийся в строке 1, и делает паузу перед рабочей строкой 2.

Когда MATLAB делает паузу, кнопка Run в изменениях вкладки Live Editor в кнопке Continue. Live Editor указывает на строку, в которой MATLAB приостановлен путем выделения строки зеленого цвета. Подсвеченная строка не запускается, пока MATLAB не продолжает запускаться.

Совет

Это - хорошая практика, чтобы не изменять файл, в то время как MATLAB приостановлен. Изменения, которые внесены, в то время как MATLAB приостановлен, не запускаются, пока MATLAB не закончил запускать код, и код повторно выполняется.

Чтобы продолжить запускать код, нажмите кнопку Continue. MATLAB продолжает петлять, пока он не достигает конца файла или точки останова. Также можно нажать кнопку слева от строки кода, к которой вы хотите продолжить запускаться.

Чтобы продолжить запускать код линию за линией, на вкладке Live Editor, нажимают Step. MATLAB выполняет текущую строку, в которой он приостановлен и паузы в следующей строке.

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

Просмотреть значение переменной, в то время как MATLAB приостановлен, парение указатель мыши по переменной. Текущая стоимость переменной появляется в совете данных. Совет данных остается в поле зрения, пока вы не перемещаете указатель. Чтобы отключить советы данных, перейдите к вкладке View и нажмите кнопку Datatips.

Также можно просмотреть значение переменной путем введения имени переменной в Командном окне. Например, чтобы видеть значение переменного n, введите n и нажмите Enter. Командное окно отображает имя переменной и его значение. Чтобы просмотреть все переменные в текущей рабочей области, используйте браузер Рабочей области.

Приостановка рабочего файла

Чтобы приостановить программу, в то время как это запускается, перейдите к вкладке Live Editor и нажмите кнопку Pause. MATLAB делает паузу в следующей исполняемой строке и изменениях кнопки Pause в кнопке Continue. Чтобы продолжить запускаться, нажмите кнопку Continue.

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

Примечание

Нажатие на кнопку паузы может заставить MATLAB, делают паузу в файле вне вашего собственного программного файла. Нажатие кнопки Continue продолжает запускаться, не изменяя результаты файла.

Окончание сеанса отладки

После того, как вы идентифицируете проблему, заканчиваете сеанс отладки путем движения во вкладку Live Editor и нажатия на Stop. Чтобы избежать беспорядка, убедитесь, что закончили свой сеанс отладки каждый раз, когда вы сделаны, отладив. Live Editor автоматически заканчивает сеанс отладки, когда вы сохраняете.

Продвиньтесь в функции

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

По умолчанию Live Editor только продвигается в пользовательские функции и скрипты. Чтобы позволить продвинуться в функции MathWorks® также, на вкладке Home, в разделе Environment, нажимают Preferences. Затем выберите MATLAB> Editor/Debugger, и в Отладке в разделе Live Editor, очиститесь, Только показывают Шаг в кнопке для пользовательских функций.

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

Исследуйте переменные в рабочей области

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

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

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

Если рабочая область выбрана, можно просмотреть значения переменных в ней с помощью браузера Рабочей области или как совета данных в Live Editor.

Добавьте точки останова и выполнение

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

Когда вы петляете, MATLAB делает паузу в строке кода, обозначенной точкой останова.

Ясные точки останова

Когда вы закрываете и вновь открыли файл, точки останова сохранены.

Чтобы очистить точку останова, щелкните правой кнопкой по точке останова и выберите Clear Breakpoint из контекстного меню. Чтобы очистить все точки останова в файле, выберите Clear All in File. Чтобы очистить все точки останова во всех файлах, выберите Clear All.

Точки останова очищаются автоматически, когда вы заканчиваете сеанс работы с MATLAB.

Отключение точки останова

Можно отключить выбранные точки останова так, чтобы программа временно проигнорировала их и непрерывные выполнения. Например, вы можете отключить точку останова после того, как вы идентифицируете и исправите проблему.

Чтобы отключить точку останова, щелкните правой кнопкой по нему и выберите Disable Breakpoint из контекстного меню. Точка останова становится серой, чтобы указать, что она отключена.

Чтобы повторно включить точку останова, щелкните правой кнопкой по нему и выберите Enable Breakpoint из контекстного меню. Чтобы включить или отключить все точки останова в файле, выберите Enable All Breakpoints in File или Disable All Breakpoints in File. Эти опции только доступны, если существует по крайней мере одна точка останова, чтобы включить или отключить.

Добавьте условные точки останова

Можно добавить условие к точке останова, которая говорит MATLAB, когда сделать паузу в заданной строке. Чтобы добавить условие, щелкните правой кнопкой по точке останова и выберите Set/Modify Condition. Когда диалоговое окно Editor откроется, введите условие и нажмите ОК. Условие является любым допустимым выражением MATLAB, которое возвращает логическое скалярное значение. MATLAB оценивает условие прежде, чем запустить строку.

Например, предположите, что вы только хотите сделать паузу в randomdata.mlx, если случайные сгенерированные данные содержат 0.

Добавьте точку останова со следующим условием в строке 3:

any(r == 0)
Желтая условная точка останова появляется в той строке.

Когда вы петляете, MATLAB делает паузу в заданной строке, когда условие соблюдают. Например, в примере randomdata, MATLAB делает паузу перед рабочей строкой 3, если какое-либо из значений в r равно 0.

Похожие темы

Была ли эта тема полезной?