13.4 Режим отладки
Существует три дополнительных вспомогательных функции, которые позволяют пользователю узнать, где в процессе выполнения скрипта Octave вошел в режим отладки, и вывести код в скрипте, окружающий точку, где Octave вошел в режим отладки.
- : dbwhere
-
В режиме отладки сообщите текущий файл и номер строки, где остановлено выполнение.
См. также: dbstack, dblist, dbstatus, dbcont, dbstep, dbup, dbdown.
- : dbtype
- : dbtype lineno
- : dbtype startl:endl
- : dbtype startl:end
- : dbtype func
- : dbtype func lineno
- : dbtype func startl:endl
- : dbtype func startl:end
-
Отобразите файл скрипта с номерами строк.
При вызове без аргументов в режиме отладки, отобразите файл скрипта, который в данный момент отлаживается.
Можно использовать необязательное указание диапазона, чтобы отобразить только часть файла. Специальное ключевое слово
"end"является допустимым указанием номера строки для последней строки файла.При вызове с именем функции, отобразите файл скрипта с номерами строк.
- : dblist
- : dblist n
-
В режиме отладки выведите n строк отлаживаемой функции, центрированных вокруг текущей строки для выполнения.
Если n не указано, по умолчанию используется 10 (+/- 5 строк)
Вы также можете использовать isdebugmode для определения, активен ли в настоящее время отладчик.
- : isdebugmode ()
-
Возвращает true, если находится в режиме отладки, в противном случае false.
Режим отладки также позволяет выполнять пошаговую отладку по одной строке через функцию, используя команду dbstep.
- : dbstep
- : dbstep n
- : dbstep in
- : dbstep out
- : dbnext …
-
В режиме отладки выполните следующие n строк кода.
Если n опущено, выполните следующую единственную строку кода. Если следующая строка кода определена в файле m-file, оставайтесь в существующей функции.
Использование
dbstep inприведет к выполнению следующей строки, перейдя в любые файлы m-файлы, определенные в следующей строке.Использование
dbstep outзаставит выполнение продолжаться до тех пор, пока текущая функция не вернется.dbnextявляется псевдонимом дляdbstep.
Когда вы находитесь в режиме отладки, клавиша RETURN выполнит последнюю введенную команду. Это полезно, например, после попадания в точку останова и ввода dbstep один раз. После этого можно переходить по строкам кода с помощью всего одной клавиши. Эта функция может быть отключена с помощью функции auto_repeat_debug_command.
- : val = auto_repeat_debug_command ()
- : old_val = auto_repeat_debug_command (new_val)
- : auto_repeat_debug_command (new_val, "local")
-
Запрос или установка внутренней переменной, которая управляет тем, повторяются ли команды отладки автоматически, когда строка ввода пуста (ввод только RET).
При вызове из функции с опцией
"local", переменная изменяется локально для функции и всех вызываемых ею подпрограмм. Исходное значение переменной восстанавливается при выходе из функции.
© 1996–2022 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/v6.4.0/Debug-Mode.html