主要内容

DBStop.

设置调试断点

描述

例子

dbstop in.文件在第一个可执行行中设置一个断点文件.当你运行时文件, MATLAB®进入调试模式,暂停在断点处的执行,并显示暂停的行。

例子

dbstop in.文件位置在指定位置设置断点。Matlab执行在该位置之前立即停顿,除非位置是一个匿名功能.如果位置是匿名功能,则在断点之后执行暂停。

例子

dbstop in.文件如果表达式在文件的第一个可执行行设置条件断点。只有当表达式评估真的(1)

例子

dbstop in.文件位置如果表达式在指定位置设置条件断点。在该位置或恰好在该位置之前暂停执行,只有当表达式评估为true。

例子

DBSTOP IF.健康)状况暂停符合指定的行的执行健康)状况,如错误或者纳米.与其他断点不同,您不需要在特定文件的特定行中设置该断点。MATLAB暂停在任何文件中的任意行,当指定健康)状况发生。

例子

dbstop(b)恢复您先前保存的断点b.包含已保存的断点的文件必须位于搜索路径或当前文件夹中。MATLAB通过行号分配断点,因此文件中的行必须与保存断点时相同。

例子

全部收缩

设置断点并在程序的第一个可执行行暂停执行。

创建文件,布里法,包含这些陈述。

功能z =错误(x)n =长度(x);z =(1:n)./ x;

问题的DBStop.命令和运行

DBStop.越野车(1:5)

MATLAB显示其暂停的线路并进入调试模式。

2 n = length(x);K > >

类型dbquit.退出调试模式。

在程序中局部函数的第一个可执行行设置断点。

创建文件,myfile.m,包含这些语句

功能n = myfile(x)n = myfunction(x);功能y = myfunction(x)y = x + 1;

setmyfunction

DBStop.myfile> myfunction.

在程序中设置断点,使MATLAB在一些循环迭代后暂停。

创建文件,myprogram.m.,包含这些语句

x = 1 (10);N = 1:10 x(N) = x(N) + 1结束

设置一个断点来暂停n> = 4,并运行代码。

DBStop.myprogram.4如果n> = 4myprogram.

Matlab在第4行暂停,在循环的3次迭代后,何时n = 4

4 x(n) = x(n) + 1;K > >

类型dbquit.退出调试模式。

如果发生运行时错误,请设置断点和暂停执行。

创建文件,mybuggyprogram.m,包含这些陈述。

x = 1 (10);x(N) = x(N +1) +1;结束

设置错误断点,并调用mybuggyprogram.

DBStop.如果错误mybuggyprogram.

一个运行时错误发生,MATLAB进入调试模式,在第4行中暂停mybuggyprogram.m

索引超过矩阵维度。MybuggyProgram(第4行)x(n)= x(n + 1)+ 1中出错;4 x(n)= x(n + 1)+ 1;

类型dbquit.退出调试模式。

运行mexception.last.获取程序生成的错误消息标识符。

mexception.last.
ans = MException with properties: identifier: 'MATLAB: bad下标'消息:'Index超过矩阵维度。`原因:{}堆栈:[1×1 struct]

清除错误断点并设置一个新的错误断点,指定要捕获的错误消息的标识符。称呼mybuggyprogram.

dbclear如果错误DBStop.如果错误Matlab:Badsubscript.mybuggyprogram.

同样的运行时错误发生,MATLAB进入调试模式,在第4行中暂停mybuggyprogram.m

索引超过矩阵维度。MybuggyProgram(第4行)x(n)= x(n + 1)+ 1中出错;4 x(n)= x(n + 1)+ 1;

类型dbquit.退出调试模式。

如果代码返回a,请设置断点并暂停执行价值。

创建文件,布里法,这需要一个输入向量。

功能z =错误(x)n =长度(x);z =(1:n)./ x;

设置一个警告断点,并调用输入载体包含一个0作为它的一个元素。

DBStop.如果纳米越野车(0:2)

除零错误发生,MATLAB进入调试模式,在第3行暂停布里法

3号线的南/米断点击中越野车。

类型dbquit.退出调试模式。

设置,保存,清除,然后恢复已保存的断点。

创建文件,布里法,其中包含这些语句。

功能z =错误(x)n =长度(x);z =(1:n)./ x;

中第二行设置错误断点和标准断点

DBStop.2DBStop.如果错误

运行dbstatus..Matlab描述了您设置的断点。

dbstatus.
bug的断点在第2行。如果错误停止。

为变量指定一个表示断点的结构b,然后保存b到垫子文件buggybrkpnts..使用b = dbstatus(“-completenames”)保存绝对路径和断点函数嵌套序列。

b = dbstatus ('-completenames');保存buggybrkpnts.b

清除所有断点。

dbclear全部

通过加载MAT文件和调用来恢复断点DBStop.在保存的结构中,b

负载buggybrkpnts.dbstop (b)

输入参数

全部收缩

文件名,指定为字符向量或字符串标量。文件名可以包括部分路径名称对于MATLAB搜索路径上的文件或绝对路径名对于任何文件。有关MATLAB中有效文件名的详细信息,请参阅指定文件名

例子:myfile.m

此外,文件可包括档案标记(>)指定特定本地功能的路径或文件中的嵌套函数。

例子:myfile> myfunction.

如果文件不是MATLAB代码文件(例如,它是一个内置或MDL文件),然后MATLAB发出警告。Matlab不能暂停文件,因此它在执行文件之前暂停。

数据类型:char|字符串

要设置的断点位置文件,指定为其中一个选项:

  • 行号在文件指定为字符向量或字符串标量。默认为1

  • 行号在文件,位于匿名函数编号并指定为字符向量或字符串标量。例如,1 @ 2指定第二个匿名函数的行1。默认匿名函数编号是1

  • 中局部函数的名称文件,指定为字符向量或字符串标量。

请注意

设置断点时,无法指定位置如果文件包括一个filemarker。例如,命令dbstop在myfile> myfilefunction 5是无效的。

数据类型:char|字符串

的标量逻辑值的逻辑表达式1或者0,指定为字符向量或字符串标量。

例子:n> = 4

数据类型:char|字符串

暂停条件,指定为其中一个选项:

  • 错误- 在外部发生的运行时错误try / catch块。在未捕获的运行时错误后,不能恢复执行。

    如果您希望只在发生特定错误时才暂停执行,请指定消息id。例如:

    • dbstop如果错误类之外发生的第一个运行时错误时暂停执行try / catch块。

    • MATLAB:ls:InputsMustBeStrings . dbstop如果错误在第一个运行时错误时暂停执行try / catch具有消息ID的块MATLAB:LS:InputMustBestrings

  • 发现错误的运行时错误尝试A的一部分try / catch块。如果您希望只在发生特定错误时才暂停执行,请指定消息id。

  • 警告- 发生运行时间警告。如果只有在发生特定警告时才能执行暂停,请指定消息ID。

    如果您禁用警告,这种情况没有效果警告所有人命令或如果您禁用指定的警告ID.有关禁用警告的更多信息,请参阅警告

  • 纳米- 代码返回无限值(INF.)或非数字的值()作为运算符、函数调用或标量赋值的结果。

先前保存到结构数组中的断点列表b = dbstatus

提示

  • 在开始调试之前,请确保您的程序已经保存,并且该程序及其调用的任何文件都存在于您的搜索路径或当前文件夹中。

  • 要在断点暂停执行后恢复执行,请使用dbcont或者dbstep.要退出调试模式,请使用dbquit..要删除文件中的所有断点,请使用别无选择文件名.要删除所有文件中的所有断点,请使用DBCELL ALL..有关更多信息,请参见dbclear

  • 当显示由程序创建的模态对话框或图形时,在断点处暂停时,MATLAB可能变得无响应。要退出调试模式并返回MATLAB提示符(>>), 用Ctrl + C.

在R2006A之前介绍