13.4 Режим отладки ¶
Существуют три дополнительных вспомогательные функции, которые позволяют пользователю узнать, где в выполнении скрипта Octave вошел в режим отладки, и напечатать код в скрипте, окружающем точку, где Octave вошел в режим отладки.
- : dbwhere ¶
-
В режиме отладки сообщите текущий файл и номер строки, где выполнение остановлено.
См. также: dbstack, dblist, dbstatus, dbcont, dbstep, dbup, dbdown.
- : dbtype ¶
-
: dbtype
lineno¶ -
: dbtype
startl:endl¶ -
: dbtype
startl:end¶ -
: dbtype
fcn¶ -
: dbtype
fcn lineno¶ -
: dbtype
fcn startl:endl¶ -
: dbtype
fcn startl:end¶ -
Отобразить файл скрипта с номерами строк.
При вызове без аргументов в режиме отладки отобразить файл скрипта, который в данный момент отлаживается.
Можно использовать необязательное задание диапазона, чтобы отобразить только часть файла. Специальное ключевое слово
"end"является допустимым указанием номера строки для последней строки файла.При вызове с именем функции выведите этот файл скрипта с номерами строк.
- : dblist ¶
-
: dblist
n¶ -
В режиме отладки выведите n строк отлаживаемой функции, центрированных вокруг текущей строки для выполнения.
Если n не указано, он по умолчанию равен 10 (+/- 5 строк)
Вы также можете использовать isdebugmode для определения того, активен ли в данный момент отладчик.
-
:
tf =isdebugmode()¶ -
Возвращает true, если режим отладки активен, иначе false.
Режим отладки также позволяет выполнить пошаговую отладку одной строки функции с помощью команды dbstep.
- : dbstep ¶
-
: dbstep
n¶ -
: dbstep
in¶ -
: dbstep
out¶ -
: dbnext
…¶ -
В режиме отладки выполните следующие n строк кода.
Если n опущено, выполните следующую одну строку кода. Если следующая строка кода определена в терминах m-файла, оставайтесь в существующей функции.
Использование
dbstep inприведет к выполнению следующей строки, чтобы перейти в любые m-файлы, определенные в следующей строке.Использование
dbstep outприведет к продолжению выполнения, пока текущая функция не вернет результат.Примечание по программированию:
dbnextявляется псевдонимом дляdbstepи может использоваться взаимозаменяемо.
В режиме отладки нажатие клавиши ВВОД выполнит последнюю введенную команду. Это полезно, например, после попадания на точку останова и ввода dbstep один раз. После этого можно переходить по строкам кода с помощью одной только клавиши. Эта функция может быть отключена с помощью функции auto_repeat_debug_command.
-
:
val =auto_repeat_debug_command()¶ -
:
old_val =auto_repeat_debug_command(new_val)¶ -
:
old_val =auto_repeat_debug_command(new_val, "local")¶ -
Запрос или установка внутренней переменной, которая контролирует, повторяются ли команды отладки автоматически, когда строка ввода пустая (ввод только RET).
При вызове изнутри функции с опцией
"local", переменная изменяется локально для функции и всех вызываемых ею подпрограмм. Исходное значение переменной восстанавливается при выходе из функции.
© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.2.0/Debug-Mode.html