Установка точек останова приостанавливает выполнение программы MATLAB ®, чтобы можно было проверить значения, в которых, по вашему мнению, может возникнуть проблема. Точки останова можно установить с помощью редактора или с помощью функций в окне команд .
Существует три типа точек останова:
Стандартные точки останова
Условные точки останова
Ошибочные точки останова
Точки останова можно задавать только в исполняемых строках сохраненных файлов, находящихся в текущей папке или в папках по пути поиска. Точки останова можно установить в любое время, независимо от того, находится MATLAB в состоянии ожидания или занят работой с файлом.
По умолчанию MATLAB автоматически открывает файлы при достижении точки останова. Чтобы отключить этот параметр, выполните следующие действия.
На вкладке Главная (Home) в разделе Среда
(Environment) щелкните Настройки (Preferences).
Откроется диалоговое окно Настройки (Preferences).
Выберите MATLAB > Редактор/отладчик.
Снимите флажок Автоматически открывать файл при достижении MATLAB точки останова и нажмите кнопку ОК.
Стандартная точка останова останавливается в указанной строке файла.
Чтобы задать стандартную точку останова, щелкните по аллее точки останова в исполняемой строке, в которой требуется задать точку останова. Аллея точки останова представляет собой узкий столбец в левой части окна «Редактор» справа от номера строки. Для установки точки останова можно также использовать клавишу F12.
Исполняемые строки обозначаются значком - (тире) в аллее точки останова. Если исполняемая инструкция охватывает несколько строк, можно задать точку останова в каждой строке этой инструкции, даже если дополнительные строки не имеют - (тире) в аллее точки останова. Например, в этом коде можно задать точку останова для всех четырех строк:

При попытке установить точку останова в строке, которая не является исполняемой, такой как комментарий или пустая строка, MATLAB устанавливает ее в следующей исполняемой строке.
Чтобы установить стандартную точку останова программным способом, используйте dbstop функция. Например, чтобы добавить точку останова в строке 2 в файл с именем myprogram.m, введите:
dbstop in myprogram at 2
myprogram.

Проверка значений с приращениями в for установите точку останова внутри цикла, а не в начале цикла. Если установить точку останова в начале цикла for, а затем перейти к файлу, MATLAB останавливается в for оператор только один раз. Однако при размещении точки останова в цикле MATLAB приостанавливается при каждом прохождении цикла.

Условная точка останова вызывает паузу MATLAB в указанной строке файла только при выполнении указанного условия. Условные точки останова используются при необходимости проверки результатов после некоторых итераций в цикле.
Чтобы задать условную точку останова, щелкните правой кнопкой мыши по аллее точки останова в исполняемой строке, в которой требуется задать точку останова, и выберите Set/Modify Condition.
Когда откроется диалоговое окно Редактор (Editor), введите условие и нажмите кнопку ОК. Условием является любое допустимое выражение MATLAB, которое возвращает логическое скалярное значение.
Как отмечено в диалоговом окне, MATLAB оценивает условие перед выполнением строки. Например, предположим, что у вас есть файл с именем myprogram.m.

Добавьте точку останова со следующим условием в строке 6:
n >= 4
Можно также установить условную точку останова программным способом с помощью dbstop функция. Например, чтобы добавить условную точку останова в myprogram.m в строке 6 тип:
dbstop in myprogram at 6 if n>=4
При запуске файла MATLAB переходит в режим отладки и приостанавливается в строке при выполнении условия. В myprogram например, MATLAB выполняется через for цикл дважды и приостанавливается на третьей итерации в строке 6, когда n является 4. Если продолжить выполнение, MATLAB снова приостанавливается в строке 6 четвертой итерации, когда n является 5.
При возникновении ошибки MATLAB приостанавливает выполнение программы и переходит в режим отладки. В отличие от стандартных и условных точек останова, эти точки останова не устанавливаются в определенной строке конкретного файла. При установке точки останова MATLAB приостанавливается в любой строке любого файла, если возникает указанное условие ошибки. Затем MATLAB переходит в режим отладки и открывает файл, содержащий ошибку, со стрелкой выполнения в строке, содержащей ошибку.
Чтобы задать точку останова ошибки, на вкладке Редактор нажмите кнопку
Выполнить и выберите
один из
следующих параметров:
Приостановка ошибок для приостановки всех ошибок.
Приостановка предупреждений для приостановки всех предупреждений.
Приостановка на NaN или Inf для приостановки NaN (не-a-число) или Inf (бесконечные) значения.
Вы также можете установить точку останова программным путем с помощью dbstop функция с указанным condition. Например, чтобы приостановить выполнение для всех ошибок, введите
dbstop if error
try часть try/catch блок, имеющий идентификатор сообщения MATLAB:ls:InputsMustBeStrings, типdbstop if caught error MATLAB:ls:InputsMustBeStrings
В строке кода MATLAB, содержащей анонимные функции, можно задать несколько точек останова. Например, можно задать точку останова для самой строки, где программное обеспечение MATLAB приостанавливается в начале строки. Либо можно задать точку останова для каждой анонимной функции в строке.
При добавлении точки останова в строку, содержащую анонимную функцию, редактор запрашивает, где в строке должна быть добавлена точка останова. Если в строке несколько точек останова, значок точки останова будет синим, независимо от состояния любой из точек останова в этой строке.
Чтобы просмотреть информацию обо всех точках останова в строке, наведите указатель мыши на значок точки останова. Появится подсказка с доступной информацией. Например, в этом коде строка 5 содержит две анонимные функции, каждая из которых имеет точку останова. В подсказке сообщается, что обе точки останова включены.

При установке точки останова в анонимной функции MATLAB приостанавливается при вызове анонимной функции. Зеленая стрелка показывает, где код определяет анонимную функцию. Белая стрелка показывает, где код вызывает анонимные функции. Например, в этом коде MATLAB приостанавливает программу в точке останова, установленной для анонимной функции sqr, в строке 2 в файле с именем myanonymous.m. Белая стрелка указывает, что sqr вызывается из строки 3.

Серая точка останова указывает на недопустимую точку останова.
![]()
Точки останова недопустимы по следующим причинам:
В файле есть несохраненные изменения. Чтобы сделать точки останова допустимыми, сохраните файл. Серые точки останова становятся красными, что указывает на их действительность.
В файле имеется синтаксическая ошибка. При установке точки останова появляется сообщение об ошибке, указывающее, где находится синтаксическая ошибка. Чтобы сделать точку останова допустимой, исправьте синтаксическую ошибку и сохраните файл.
Выбранные точки останова можно отключить, чтобы программа временно игнорировала их и работала непрерывно. Например, точку останова можно отключить после обнаружения и устранения проблемы или при использовании условных точек останова.
Чтобы отключить точку останова, щелкните правой кнопкой мыши значок точки останова и выберите в контекстном меню пункт «Отключить точку останова».
Один X отображается с помощью значка точки останова, указывающего, что она отключена.
![]()
Чтобы снова включить точку останова, щелкните правой кнопкой мыши значок точки останова и выберите в контекстном меню пункт «Включить точку останова».
X больше не отображается на значке точки останова, и выполнение программы приостанавливается в этой строке.
Чтобы включить или отключить все точки останова в файле, выберите Включить все в файле или Отключить все в файле. Эти параметры доступны только при наличии хотя бы одной точки останова для включения или отключения.
Все точки останова остаются в файле до тех пор, пока они не будут удалены или удалены автоматически в конце сеанса MATLAB.
Чтобы очистить точку останова, щелкните правой кнопкой мыши значок точки останова и выберите в контекстном меню пункт «Очистить точку останова». Для очистки точки останова можно также использовать клавишу F12.
Чтобы очистить точку останова программным путем, используйте dbclear функция. Например, чтобы очистить точку останова в строке 6 в файле с именем myprogram.m, тип
dbclear in myprogram at 6
Чтобы очистить все точки останова в файле, щелкните правой кнопкой мыши по аллее точек останова и выберите «Очистить все в файле». Вы также можете использовать dbclear
all команда. Например, чтобы очистить все точки останова в файле с именем myprogram.m, тип
dbclear all in myprogram
Чтобы очистить все точки останова во всех файлах, включая точки останова, щелкните правой кнопкой мыши по аллее точек останова и выберите «Очистить все». Вы также можете использовать dbclear all команда.
Точки останова очищаются автоматически при завершении сеанса MATLAB. Чтобы сохранить точки останова для будущих сеансов, см. dbstatus функция.