设置断点

设置断点暂停您的MATLAB的执行®程序,让您可以审视你在想一个问题可能是值。您可以设置使用编辑器断点或通过在命令窗口中使用的功能。

有三种类型的断点:

  • 标准断点

  • 条件断点

  • 错误断点

您只能在那些在当前文件夹中保存的文件执行行或在搜索路径上的文件夹设置断点。您可以在任何时间设置断点,MATLAB是空闲还是忙碌运行的文件。

默认情况下,MATLAB,当它到达断点自动打开文件。要禁用此选项:

  1. 来自选项卡,在环境部分,点击偏好

    打开Preferences对话框。

  2. 选择MATLAB>编辑器/调试

  3. 清除当MATLAB到达断点自动打开文件选项,并点击

断点标准

一个标准的断点暂停在一个文件中指定的线。

要设置标准断点点击断点胡同在您想要设置断点的可执行行。该断点胡同是在编辑器的左侧的窄列,行号的右侧。您也可以使用F12键设置断点。

在断点胡同(短划线) - 可执行线被指示。如果一个可执行语句跨越多行,您可以在该语句的每一行设置一个断点,即使其他行没有 - 在断点胡同(DASH)。例如,在此代码,可以设置在所有四个行断点:

如果试图在一条线,是不是可执行设置断点,比如注释或空白行,MATLAB将其设置在一个可执行行。

以编程方式设置一个标准的断点,使用DBSTOP功能。例如,在一个文件名为第2行中添加断点myprogram.m键入:

DBSTOP在myprogram在2
MATLAB中的函数,在2号线增加了一个断点myprogram

要在一个增量检查值对于环路,设置断点的循环中,而不是在循环的开始。如果设置在for循环开始时的断点,并通过文件,然后一步,MATLAB暂停在对于声明只有一次。但是,如果你把循环中的断点,MATLAB暂停在每一次循环。

条件断点

有条件的断点使MATLAB在仅在满足指定条件的文件的指定行暂停。当你想检查循环某些迭代后的结果使用条件断点。

要设置条件断点,在那里你要设置的断点的可执行行右键单击该断点胡同和选择设置/修改条件

当编辑器对话框打开后,输入条件,然后单击。条件是任何有效的MATLAB表达式,返回的逻辑标量值。

正如在对话框中指出,MATLAB计算这条线之前的状态。例如,假设你有一个名为myprogram.m

在以下的条件在第6行添加一个断点:

N> = 4
黄色,条件断点图标会出现在该行的断点胡同。

您还可以设置一个条件断点以编程方式使用DBSTOP功能。例如,增加一个条件断点myprogram.m在第6行类型:

DBSTOP在myprogram在6如果n> = 4

当你运行该文件,MATLAB在该行进入调试模式和暂停时满足条件。在里面myprogram例如,MATLAB贯穿对于循环两次,并在第三次迭代停顿在管线6时ñ4。如果继续执行,MATLAB在6号线再次暂停在第四次迭代时ñ

错误断点

错误断点使MATLAB暂停程序执行,并进入调试模式,如果MATLAB遇到问题。不同于标准和条件断点,你没有在一个特定的文件中的特定行设置这些断点。当您设置一个断点错误,MATLAB暂停在任何行的任何文件,如果指定的错误情况发生。MATLAB然后进入调试模式,并且打开包含错误的文件,用在包含错误的行的执行箭头。

要设置错误断点,在编辑选项卡,单击并从这些选项中进行选择:

  • 暂停上的错误暂停所有错误。

  • 暂停的警告暂停上的所有警告。

  • 暂停对NaN或天道酬勤暂停上为NaN(未非数值)或天道酬勤(无穷大)的值。

您也可以通过编程设置一个断点DBSTOP具有特定功能健康)状况。例如,要暂停对所有错误执行,键入

DBSTOP如果错误
在内部的第一次运行时错误暂停执行尝试一个的一部分试着抓块,其具有的一个消息IDMATLAB:LS:InputsMustBeStrings,类型
DBSTOP如果抓住错误MATLAB:LS:InputsMustBeStrings

在匿名函数断点

您可以在一个线路包含匿名功能的MATLAB代码设置多个断点。例如,您可以设置行本身,MATLAB软件暂停在该行的开始设置一个断点。或者,你可以在每行匿名函数设置一个断点。

当您添加一个断点包含一个匿名函数行,编辑问起在该行要添加断点。如果在一个以上的线路个断点,断点图标是蓝色的,不管任何在该行的断点的状态。

要查看有关上线的所有断点,悬停你对断点图标指针信息。工具提示似乎与可获得的信息。例如,在该代码中,第5行包含两个匿名函数,与每一个断点。该提示告诉我们,这两个断点被启用。

当您在一个匿名函数设置断点,MATLAB暂停时,匿名函数被调用。绿色箭头显示了代码定义匿名函数。白色箭头显示了代码调用匿名函数。例如,在这个代码,在MATLAB的匿名函数设置了断点暂停程序SQR中,在一个文件中的行2被称为myanonymous.m。白色箭头指示SQR函数是从3行调用。

无效的断点

灰色断点指示无效断点。

断点是无效的原因如下:

  • 有在文件中未保存的更改。为了使断点有效,保存文件。灰色的断点变成红色,这表明它们现在是有效的。

  • 有文件中的语法错误。当您设置一个断点,一个错误消息,指示在句法错误。为了使断点有效,修复语法错误并保存文件。

禁用断点

您可以禁用所选断点,这样你的程序暂时忽略它们并运行中断。例如,您可以禁用断点后,你认为你发现和纠正问题,或者如果您使用条件断点。

要禁用断点,右击断点图标,然后选择禁用断点从上下文菜单中。

一个X通过断点图标似乎表明它已被禁用。

要重新启用一个断点,右击断点图标,然后选择启用断点从上下文菜单中。

X没有对在该行的断点图标,程序执行暂停再出现。

要启用或禁用文件中的所有断点,选择在文件全部启用要么禁用所有文件。如果有至少一个断点来启用或禁用这些选项才可用。

清除断点

所有断点保持,直到您清除(删除)的文件他们或直到它们在您的MATLAB会话结束时自动清零。

要清除一个断点,右击断点图标,然后选择清除断点从上下文菜单中。您也可以使用F12键清除断点。

要以编程方式清除断点,使用dbclear功能。例如,要清除断点在6号线在一个名为myprogram.m,类型

dbclear在myprogram在6

要清除文件中的所有断点,右击断点胡同和选择清除所有文件。您也可以使用dbclear所有命令。例如,要清除所有断点在一个名为myprogram.m,类型

dbclear所有myprogram

要清除所有断点所有文件,包括错误断点,右击断点胡同和选择全部清除。您也可以使用dbclear所有命令。

当您结束MATLAB会话断点自动清除。为了节省您的断点为将来的会话,请参阅dbstatus功能。

相关话题