dbstop at lineno in mfilename
dbstop in mfilename
dbstop if error
dbstop if naninf
dbstop if infnan
dbstop
command sets up MATLAB's debugging mode. dbstop
sets a breakpoint at a specified location in an M-file function or causes a break in case an error occurs during execution. When the specified dbstop
condition is met, the MATLAB prompt is displayed and you can issue any valid MATLAB command.
dbstop
at
lineno
in
mfilename stops execution just prior to execution of that line of the specified M-file function.
dbstop
in
mfilename
stops execution before the first executable line in the M-file function when it is called. dbstop
if
error
stops execution if a runtime error occurs in any M-file function. (The debugger does not handle compile-time syntax errors.) You can examine the local workspace and sequence of function calls leading to the error, but you cannot resume M-file execution after a runtime error. dbstop
if
naninf
or dbstop
if
infnan
stops execution when it detects Not-a-Number (NaN
) or Infinity (INF
).
Regardless of the form of the dbstop
command, when a stop occurs, the line or error condition that caused the stop is displayed. To resume M-file function execution, you can issue a dbcont
command or step to another line in the file with the dbstep
command.
Any breakpoints set by the first two forms of the dbstop
command are cleared if the M-file function is edited or cleared.
The at, in, and if keywords, familiar to users of the UNIX debugger dbx, are optional.
dbtype
command to produce line numbers.
The statementdbtype buggy
1 function z = buggy(x)
2 n = length(x);
3 z = (1:n)./x;
dbstop in buggy
causes execution to stop at line 2, the first executable line. The command
dbstep
then advances to line 3 and allows the value of n
to be examined.
The example function only works on vectors; it produces an error if the input x
is a full matrix. So the statements
producedbstop if error
buggy(magic(3))
Finally, if any of the elements of the inputError using ==>./
Matrix dimensions must agree.
Error in ==> buggy.m
On line 3 ==> z = (1:n)./x;
x
are zero, a division by zero occurs. This can be illustrated with
which producesdbstop if naninf
buggy(0:2)
Warning: Divide by zero
NaN/Inf debugging breakpoint hit on line 2. Stopping at next line.
2 n = length(x);
3 z = (1:n)./x;
dbcont
,dbdown
,dbstack
,dbstatus
,dbstep
,dbtype
,dbup
(c) Copyright 1994 by The MathWorks, Inc.