文档

设置断点

关于断点

调试器允许您定义停止点称为断点在一个模拟世界中。你可以从断点,断点,然后运行一个模拟使用调试器继续命令。调试器允许您定义两种类型的断点:无条件的和有条件的。无条件断点发生当一个模拟之前到达您指定的方法。有条件的断点发生在指定的条件是你提前出现在模拟。

断点是有用的,当你知道一个问题发生在程序中的某一点或发生一定条件时。通过定义一个合适的断点和运行仿真通过继续立即命令,您可以跳过的仿真问题发生的地方。

请注意

当你停止断点的MATLAB仿真®在调试器功能,退出MATLAB,首先必须退出调试器。

无条件设置断点

你可以设置无条件的断点的:

  • 调试器工具栏

  • 模拟循环窗格

  • MATLAB产品命令窗口(命令行模式)

从调试器工具栏设置断点

要启用断点按钮,

  1. 模拟模型。

  2. 单击步过电流的方法按钮,直到simulationPhase突出显示。

  3. 单击进入当前的方法按钮。

调试器将显示所选块的名称打破/显示点面板的断点窗格。

请注意

单击断点工具栏上的按钮设置断点的调用块主要时间的方法步骤。

你可以暂时禁用断点在一块通过取消勾选复选框的断点列面板。在一块清除断点和删除的条目面板,

  1. 选择条目。

  2. 单击删除选中的点按钮面板。

请注意

你不能在一个虚拟块设置一个断点。虚拟块纯粹的图形:它表示一组或一个模型的计算块之间的关系。调试器警告说如果你尝试虚拟块上设置一个断点。你可以得到一个清单模式的nonvirtual块,使用slist命令(见显示模型的Nonvirtual块)。

从模拟循环窗格设置断点

在特定调用设置断点的方法显示在模拟循环窗格中,选中该复选框旁边的断点的方法的名字列窗格。

清除断点,取消选择复选框。

从命令窗口中设置断点

在命令行模式下,使用打破粗棉布命令来设置断点之前或之后指定的方法,分别。使用清晰的命令清除断点。

设置条件断点

您可以使用打破在条件调试器控制小组断点窗格

或以下命令(在命令行模式下)来设置条件断点。

这个命令…… 使仿真停止……
tbreak[t]

在模拟时间步

ebreak

在一个模型中可恢复错误

nanbreak

在一个下溢或溢出的发生()或无限()值

xbreak

当仿真达到的状态决定了仿真步长

zcbreak

当仿真时间步之间出现零交叉

在时间步长设置断点

在一个时间步设置一个断点,在调试器中输入一个时间休息时间字段(GUI模式)或输入使用的时间tbreak命令。这导致调试器停止的模拟Outputs.Major在第一个时间步模型的方法,在指定的时间。例如,启动vdp在调试模式下和输入命令

tbreak 2继续

使调试器停止的模拟vdp.Outputs.Major方法的步骤2.078所示的输出继续命令。

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % vdp.Outputs (Tm = 2.034340153847549)。小(sldebug @37):

打破非限定的值

选择调试器NaN值选择或输入nanbreak命令会导致仿真计算值时停止无限或外部支持的值的范围,机器运行仿真。万博1manbetx此选项用于确定在一个模型中计算错误。

打破在步长限制措施

选择步长限制的状态选择或输入xbreak命令会导致调试器停止仿真模型时采用了变步解决和解决者遇到一个限制的大小,它可以采取的措施。这个命令是有用的在调试模式,似乎需要过多的仿真时间的步骤来解决。

打破在零交叉

选择零交叉选择或输入zcbreak命令会导致仿真停止当nonsampled零交叉检测模型,该模型包括块可能出现零交叉的地方。停止后,ID、类型和名称的块零交叉检测显示。块ID (b: p)由一个系统索引年代块指数b和端口索引p用冒号分开(见块ID)。

例如,设置一个零交点打破在开始执行复制示例模型,

> > sldebug复制% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % (TM = 0)复制。模拟(sldebug @0): > > zcbreak打破零交叉事件:启用

和持续的仿真

(sldebug @0): > >继续

结果在零交点的休息

中断模型执行运行mdlOutputs前左侧的(之前大时间步)零交叉事件检测到以下地点:6[0]0:5:2浸透“复制/饱和度”% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % zeroxing.Outputs (TzL = 0.3435011087932808)。主要(sldebug @16): > >

如果一个模型不包括块能产生nonsampled零交叉,命令打印一个消息通知你的这个事实。

打破在解算器错误

选择调试器解算器错误选择或输入ebreak命令会导致仿真停止如果解算器检测到一个模型中可恢复错误。如果你不设置或禁用这个断点,解决者从错误中恢复并继续进行模拟没有通知你。

相关的例子

更多关于

这个主题有帮助吗?