Отладчик позволяет вам отображать блок ввода-вывода, нажимая соответствующие кнопки на панели инструментов отладчика
или путем ввода соответствующей команды отладчика.
Эта команда... | Отображает блоки ввода-вывода... |
---|---|
probe | Немедленно |
disp | В каждую точку останова в любое время, когда выполнение останавливается |
trace | Каждый раз, когда блок выполняется |
Примечание
Две кнопки панели инструментов отладчика, Watch Block I/O () и Display Block I/O (), соответствуют, соответственно trace gcb
и probe gcb
. The probe
и disp
команды не имеют взаимного соответствия с кнопками на панели инструментов отладчика.
Чтобы отобразить ввод-вывод блока, выберите блок и нажмите в режиме GUI или введите probe
команда в режиме командной строки. В следующей таблице probe gcb
команда имеет соответствующую кнопку на панели инструментов. Другие команды не выполняются.
Команда | Описание |
---|---|
| Входите или выходите из |
| Отображение ввода-вывода выбранного блока. То же, что и. |
| Печать ввода-вывода блока, заданного системным номером |
Отладчик печатает текущие входы, выходные параметры и состояния выбранного блока в панели выходов отладчика (графический интерфейс пользователя) или в Командном окне MATLAB® продукт.
The probe
команда полезна, когда необходимо изучить ввод-вывод блока, ввод-вывод которого не отображается в противном случае. Например, предположим, что вы используете step
команда для запуска метода модели методом. Каждый раз, когда вы шагаете симуляцию, отладчик отображает входы и выходы текущего блока. The probe
позволяет вам также изучить вводы-выводы других блоков.
The disp
команда заставляет отладчик отображать входы и выходы заданного блока каждый раз, когда он останавливает симуляцию. Можно задать блок, введя его блочный индекс и введя gcb
как disp
командный аргумент. Можно удалить любой блок из списка точек отображения отладчика, используя undisp
команда. Например, чтобы удалить block 0:0
, введите undisp 0:0
.
Примечание
Автоматическое отображение ввода-вывода блоков в точках останова недоступно в режиме графического интерфейса пользователя отладчика.
The disp
команда полезна, когда вам нужно контролировать ввод-вывод определенного блока или набора блоков, когда вы проходите симуляцию. Использование disp
можно задать блоки, которые необходимо контролировать, и отладчик затем повторно отобразит вводы-выводы этих блоков на каждом шаге. Обратите внимание, что отладчик всегда отображает ввод-вывод текущего блока, когда вы шагаете через блок модели за блоком, используя step
команда. Вам не нужно использовать disp
команда, если вы заинтересованы в просмотре только ввода-вывода текущего блока.
Чтобы посмотреть блок, выберите блок и нажмите на панели инструментов отладчика или войдите в trace
команда. В режиме GUI, если точка останова существует на блоке, можно также установить на нем часы, установив флажок для блока в столбце просмотра на панели точек Break/Display. В режиме командной строки можно также задать блок, задав его блочный индекс в trace
команда. Можно удалить блок из списка точек трассировки отладчика с помощью untrace
команда.
Отладчик отображает ввод-вывод наблюдаемого блока каждый раз, когда блок выполняется. Просмотр блока позволяет вам получить полную запись ввода-вывода блока без необходимости останавливать симуляцию.
The atrace
команда заставляет отладчик отображать информацию об алгебраических циклах модели (см. Концепции Алгебраических циклов) каждый раз, когда они решаются. Команда принимает один аргумент, который задает объем информации для отображения.
Эта команда... | Отображает для каждого алгебраического цикла... |
---|---|
atrace 0 | Нет информации |
atrace 1 | Решение переменной цикла, количество итераций, необходимых для решения цикла, и предполагаемая ошибка решения |
atrace 2 | То же, что и уровень 1 |
atrace 3 | Уровень 2 плюс матрица Якобия, используемая для решения цикла |
atrace 4 | Уровень 3 плюс промежуточные решения переменной цикла |
В команде debug перечислены текущие значения состояний системы в Командном окне MATLAB. Например, следующая последовательность команд показывает состояния примера прыгающего мяча (states
sldemo_bounce
) после его первого, второго и третьего временных шагов. Однако перед входом в отладчик откройте диалоговое окно Параметров конфигурации и снимите флажки 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, когда вы запускаете или шагаете симуляцию. Информация включает в себя размеры шагов, предпринятых решателем, предполагаемую ошибку интегрирования, вытекающую из размера шага, преуспел ли размер шага (т.е. удовлетворял требованиям точности, которые задает модель), время, в которое происходит сброс решателя и т.д. Если вы обеспокоены временем, необходимым для симуляции модели, эта информация может помочь вам решить, является ли выбранный вами решатель виновником и, следовательно, может ли выбор другого решателя сократить время, необходимое для решения модели.