Отладьте код MuPAD Используя отладчик

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

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

Обзор

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

MuPAD® обеспечивает инструмент, чтобы помочь вам с процессом отладки. С Отладчиком вы можете:

Откройте отладчик

Открыть Окно отладки от блокнота:

  1. Выберите Notebook> Debug из главного меню.

  2. В Debug Procedure Call диалоговое окно вводит вызов процедуры, который вы хотите отладить.

  3. Нажмите OK, чтобы открыть Отладчик для этого вызова процедуры.

Также можно открыть Отладчик непосредственно из командной строки с помощью команды debug, например:

debug(factor(x^2-1))

Если вы отлаживаете несколько строк кода, помещаете команду debug в отдельную входную область. Это позволяет вам стараться не переоценивать код каждый раз, когда вы открываете Отладчик:

g := proc(x) begin x/(x+1) end_proc:
f := proc(n) begin g(10)^n end_proc:
debug(f(5))

Постепенная отладка

Используя Отладчик MuPAD, можно запустить процедуру шаг за шагом. Выполнение процедуры шаг за шагом помогает вам изолировать ошибки в своем коде. Чтобы запустить постепенный процесс отладки, выберите Step из главного меню.

Также можно использовать кнопки на панели инструментов.

При выполнении кода шаг за шагом вы можете:

  • Используйте Step Over, чтобы выполнить текущую строку. Если строка кода содержит вызов другой функции, Отладчик передает следующей строке кода, не продвигаясь в эту функцию.

  • Используйте Step Into, чтобы выполнить текущую строку кода и, если строка кода содержит вызов другой функции, шагов Отладчика в эту функцию.

  • После вступания используйте Step Out, чтобы запустить остальную часть текущей функции, оставить вызванную функцию и сделать паузу.

Например, используйте Step Into, чтобы открыться и продвинуться через внутреннюю процедуру g.

Установите и удалите точки останова

Установите стандартные точки останова

Установите точки останова приостанавливать подписание вашего кода, таким образом, можно исследовать значения, где вы думаете, что проблема. Установить точку останова в процедуре:

  1. Выберите строку, где вы хотите установить точку останова.

  2. Выберите Breakpoints> Toggle Breakpoint из главного меню или щелкните правой кнопкой, чтобы использовать контекстное меню. Также можно нажать кнопку Toggle Breakpoint на панели инструментов.

Установите условные точки останова

Установить условную точку останова:

  1. Выберите строку, где вы хотите установить точку останова

  2. Выберите Breakpoints> Set Breakpoint из главного меню.

  3. В диалоговом окне Set Breakpoint введите условие, при котором вы хотите, чтобы Отладчик остановился на этой строке. В диалоговом окне также можно изменить размещение точки останова, задающей файл и строку, где вы хотите установить точку останова.

Используйте точки останова

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

После установки точек останова также можно оставить текущий сеанс отладки и запустить новый. На новом сеансе остановках Отладчика во всех точках останова вы ранее устанавливаете.

Вы видите список всех точек останова в процессе отладки с помощью окна Breakpoints. Чтобы открыть это окно, выберите View> Breakpoints.

Удалите точки останова

Удалить точку останова:

  1. Выберите точку останова, которую вы хотите удалить.

  2. Выберите Breakpoints> Toggle Breakpoint из главного меню или щелкните правой кнопкой, чтобы использовать контекстное меню. Кроме того, можно нажать кнопку Toggle Breakpoint на панели инструментов. Второе нажатие кнопки отпускает кнопку и удаляет точку останова.

Если вы хотите удалить все точки останова, выберите Breakpoints> Remove All Breakpoints из главного меню.

Оцените переменные и выражения после конкретного вызова функции

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

Оценивать значение выражения:

  1. Если вы не видите панель Output, выберите View> Output из главного меню.

  2. В панели Output введите выражение, вы хотите оценить или выбрать одно из предшествующих выражений из выпадающего меню.

  3. Нажмите кнопку Evaluate или нажмите клавишу Enter.

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

Смотрите Intermediate Values of Variables и Expressions

Можно наблюдать значения переменных во время процесса отладки в панели Watch. Если вы не видите панель Watch, выберите View> Watch.

По умолчанию Отладчик отображает значения параметров, используемых в вызове функции (args), результаты новой команды (%) и значения переменных, объявленных в процедуре. Чтобы смотреть значения других переменных и выражений во время процесса отладки, выберите Watches> Add Watch и введите объект или выражение, которое вы хотите наблюдать в диалоговом окне Add Watch.

Также можно ввести выражения непосредственно в таблицу Watch.

Просмотрите имена в настоящее время под управлением процедур

В панели Call Stack вы видите список процедур, участвующих в процессе отладки. Если вы не видите панель Call Stack, выберите View> Call Stack.

Отладчик перечисляет все вызовы процедуры в панели Call Stack. Отладчик отмечает имя текущей процедуры с синим треугольником и подсвечивает в настоящее время выполняемую строку кода.

Чтобы переключиться между процедурами, кликните по имени процедуры, на которую вы хотите переключиться. Кроме того, можно выбрать Step> Stack Up или Step> Stack Down из главного меню или использовать панель инструментов. Как альтернатива, можно нажать u и d. Панель Call Stack помогает вам перейти во вложенных вызовах различных процедур.

Правильные ошибки

Отладчик отображает процедуры и помогает вам найти ошибки в коде, но вы не можете исправить ошибки в Окне отладки. Чтобы отредактировать ваш код используют Редактор MATLAB®, блокнот MuPAD или любой текстовый редактор.

Чтобы открыть новое окно MATLAB Editor, выберите File> New Editor with Source из главного меню или выберите Open in Editor из контекстного меню. Окно MATLAB Editor содержит источник, который вы видите в Отладчике, и позволяет вам изменить и сохранить его.

Изменения, внесенные в окне Editor, автоматически не появляются в Окне отладки. Отладчик представляет код, который уже находится в ядре. Запускать Отладчик на исправленном файле:

  1. Закройте Окно отладки, если это открыто.

  2. В Editor окно выбирают File> Save из главного меню, чтобы сохранить изменения.

  3. Откройте блокнот.

  4. Выберите Notebook> Read Commands из главного меню.

  5. Выберите файл, который вы хотите запустить.

  6. Запустите Отладчик с блокнота.