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

или путем ввода соответствующей команды debugger.
| Эта команда... | Отображает блок ввода-вывода... |
|---|---|
probe | Немедленно |
disp | В каждой точке останова каждый раз, когда выполнение останавливается |
trace | Каждый раз, когда выполняется блок |
Примечание
Две кнопки панели инструментов отладчика, Watch Block I/O
() и Display Block I/O
() соответственно соответствуют trace gcb и probe gcb. probe и disp команды не имеют однозначного соответствия с кнопками панели инструментов отладчика.
Для отображения ввода-вывода блока выберите блок и нажмите
кнопку в режиме графического интерфейса пользователя или введите probe в режиме командной строки. В следующей таблице: probe gcb имеет соответствующую кнопку панели инструментов. Другие команды - нет.
| Команда | Описание |
|---|---|
| Ввод или выход |
| Отображение ввода-вывода выбранного блока. То же, что и. |
| Печать ввода-вывода блока, указанного номером системы |
Отладчик печатает текущие входы, выходы и состояния выбранного блока на панели «Выходы отладчика» (режим GUI) или в окне команд продукта MATLAB ®.
probe полезна при проверке ввода-вывода блока, ввод-вывод которого не отображается. Например, предположим, что используется step для выполнения метода модели методом. При каждом выполнении моделирования отладчик отображает входные и выходные данные текущего блока. probe позволяет также проверить ввод-вывод других блоков.
disp команда заставляет отладчик отображать входные и выходные данные указанного блока при остановке моделирования. Можно указать блок, введя его индекс и введя gcb в качестве disp аргумент команды. Можно удалить любой блок из списка отображаемых точек отладчика, используя undisp команда. Например, для удаления block 0:0, введите undisp 0:0.
Примечание
Автоматическое отображение блочного ввода-вывода в точках останова недоступно в режиме GUI отладчика.
disp эта команда полезна при необходимости контроля ввода-вывода определенного блока или набора блоков по мере выполнения моделирования. Использование disp можно указать блоки, которые требуется отслеживать, и отладчик повторно отобразит ввод-вывод этих блоков на каждом шаге. Обратите внимание, что отладчик всегда отображает ввод-вывод текущего блока при прохождении блока модели по блокам с помощью step команда. Вам не нужно использовать disp если вы заинтересованы в просмотре только ввода-вывода текущего блока.
Для просмотра блока выберите блок и щелкните
на панели инструментов отладчика или введите trace команда. В режиме графического интерфейса пользователя, если точка останова существует в блоке, можно также установить для нее контроль, установив флажок для блока в столбце контроля
на панели «Точки разрыва/отображения». В режиме командной строки можно также указать блок, указав его индекс в trace команда. Можно удалить блок из списка точек трассировки отладчика с помощью untrace команда.
Отладчик отображает операции ввода-вывода наблюдаемого блока при каждом его выполнении. Просмотр блока позволяет получить полную запись ввода-вывода блока без остановки моделирования.
atrace команда заставляет отладчик отображать информацию о алгебраических циклах модели (см. Алгебраические концепции цикла) каждый раз при их решении. Команда принимает один аргумент, указывающий объем отображаемой информации.
| Эта команда... | Отображает для каждого алгебраического цикла... |
|---|---|
atrace 0 | Нет информации |
atrace 1 | Решение переменной цикла, количество итераций, необходимых для решения цикла, и расчетная ошибка решения |
atrace 2 | То же, что и уровень 1 |
atrace 3 | Уровень 2 плюс матрица Якобиана, используемая для решения цикла |
atrace 4 | Уровень 3 плюс промежуточные решения переменной цикла |
команда debug перечисляет текущие значения состояний системы в окне команд MATLAB. Например, следующая последовательность команд показывает состояния примера подпрыгивающего шара (statessldemo_bounce) после первого, второго и третьего временных шагов. Однако перед вводом отладчика откройте диалоговое окно Configuration Parameters и снимите флажки Block reduction и Signal storage reuse.
sldebug sldemo_bounce %----------------------------------------------------------------% [TM = 0 ] simulate(sldemo_bounce) (sldebug @0): >> step top %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Outputs.Major (sldebug @16): >> next %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Update (sldebug @23): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @23): >> next %----------------------------------------------------------------% [Tm = 0 ] solverPhase (sldebug @26): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @26): >> next %----------------------------------------------------------------% [TM = 0.01 ] sldemo_bounce.Outputs.Major (sldebug @16): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10.1495095 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 14.9019 (0:4:1)
strace команда позволяет точно определить задачи при решении дифференциальных уравнений моделей, которые могут снизить производительность моделирования. Выполнение этой команды приводит к отображению отладчиком информации, связанной с решателем, в командной строке продукта MATLAB при запуске или выполнении моделирования. Информация включает в себя размеры шагов, выполняемых решателем, предполагаемую ошибку интегрирования, возникающую в результате размера шага, успешный ли размер шага (т.е. удовлетворяющий требованиям точности, определенным моделью), время, в которое происходит сброс решателя, и т.д. Если вы обеспокоены временем, необходимым для моделирования модели, эта информация поможет вам решить, является ли выбранный решатель виновником и, следовательно, может ли выбор другого решателя сократить время, необходимое для решения модели.