debug

Выполните процедуру в одноступенчатом режиме

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

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

Синтаксис

debug()
debug(statement)

Описание

debug(statement) запускает отладчик MuPAD®, позволяя выполнять statement шаг за шагом.

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

Если debug называется без аргументов, текущее состояние возвращено, не изменяя состояние. Если отладчик включен, возвращаемым значением является TRUE, в противном случае FALSE.

В версии MuPAD с графическим интерфейсом пользователя появляется отдельное окно отладки. В версии программы UNIX® активируется текстовый интерфейс отладчика командной строки.

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

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

После вызова Pref::ignoreNoDebug(TRUE) опция процедуры проигнорирован noDebug.

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

debug(statement) возвращает тот же результат как statement, если выполнение не прерывается в отладчике пользователем.

Примеры

Пример 1

debug() называется, чтобы проверять, является ли ядро в режиме отладки:

debug()
 
                           FALSE 

Чтобы включить режим отладчика, debug(1) называется:

debug(1)
  
Activating debugger...   For those library functions which are already
loaded, the format of the source code  displayed by the debugger 
may differ from that of the original source code file. To avoid this,
restart the kernel in debug mode. Execution completed.           
                      1 
debug()

Пример 2

Мы запускаем отладчик для пошагового выполнения оператора int(cos(x),x), который интегрирует косинусную функцию:

debug(int(cos(x), x)):

Параметры

statement

Любой объект MuPAD; обычно вызов функции

Возвращаемые значения

Возвращаемое значение statement или TRUE или FALSE.

Алгоритмы

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

Если режим отладки будет активирован, и MuPAD сталкивается с процедурой без узлов отладки, это запишет процедуру во временный файл и добавит узлы отладки на лету. Это позволяет в интерактивном режиме вводимым процедурам быть отлаженными таким же образом как процедуры, считанные из файлов. Временный файл отладки удален в конце сеанса.

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

Если ядро MuPAD не было запущено в режиме отладки, этот режим включен при первом выполнении debug. Это остается активированным до конца сеанса.

Возможно запустить ядро в режиме отладки. В MuPAD Notebook это может быть сконфигурировано путем выбора “Configure …” в меню “View” (“Настройки …” на Apple Macintosh) и затем нажатия на "Kernel". Введите “-g” в текстовое поле “Arguments”:.

Смотрите также

Функции MuPAD