Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

分步运行仿真

简介

调试器提供了各种命令,让您能够按各种步进方式(请参阅步进命令)将仿真从当前暂停所在方法推进到下一方法。例如,您可以按以下方式推进仿真

  • 进入或越过下一方法

  • 离开当前方法

  • 进入仿真循环的顶层。

每次前进后,调试器都会显示信息,使您能够确定仿真前进到哪一点以及仿真前进到该点的结果。

例如,在 GUI 模式下,执行每个步进命令之后,调试器将在 Simulation Loop 窗格中突出显示当前方法调用堆栈。调用堆栈包含下一方法和直接或间接调用下一方法的方法。调试器通过突出显示构成调用堆栈的方法名称,在 Simulation Loop 窗格中突出显示调用堆栈。

在命令行模式下,您可以使用 where 命令显示方法调用堆栈。

模块数据输出

在执行模块方法后,调试器将在调试器的 Output 面板(在 GUI 模式下)或 MATLAB® 命令行窗口(在命令行模式下)中输出任何或所有以下模块数据:

  • Un = v

    其中 v 是模块第 n 个输入的当前值。

  • Yn = v

    其中 v 是模块第 n 个输出的当前值。

  • CSTATE = v

    其中 v 是模块的连续状态向量的值。

  • DSTATE = v

    其中 v 是模块的离散状态向量的值。

调试器还将在 MATLAB 命令行窗口中显示当前时间、要执行的下一个方法的 ID 和名称,以及将应用此方法的模块的名称。下面的示例显示了一个步进命令后的典型调试器输出。

步进命令

命令行模式提供了以下用于逐步推进仿真的命令:

命令...仿真将...
step [in into]

进入下一方法,并在下一方法中的第一个方法处停止,或者,如果下一方法不包含任何方法,则在下一方法末尾停止

step over

到达下一方法后面的方法,并执行由下一方法直接或间接调用的所有方法

step out

到达当前方法的末尾,执行由当前方法调用的任何其余方法

step top

到达下一个时间步的第一个方法(即,仿真循环顶层)

step blockmth

到达要执行的下一个模块方法,执行所有中间模型级别和系统级别方法

next

step over 相同

调试器工具栏中的按钮允许您在 GUI 模式中访问这些命令。

点击按钮与在调试器命令行中输入相应命令的效果相同。

继续仿真

在 GUI 模式下,当调试器由于任何原因暂停仿真时,Stop 按钮将变成红色。要继续仿真,请点击 Start/Continue 按钮。在命令行模式下,输入 continue 继续仿真。默认情况下,调试器会运行仿真直到下一个断点(请参阅设置断点)或直到仿真结束,以先发生的情况为准。

不间断地运行仿真

run 命令允许您运行仿真,一直到仿真结束,跳过任何中间断点。仿真结束时,调试器会将您返回到命令行。要继续调试模型,您必须重新启动调试器。

注意

GUI 模式不提供 run 命令图形界面。要运行仿真直到结束,您必须首先清除全部断点,然后点击 Start/Continue 按钮。

相关示例

详细信息