dbstop at lineno in mfilenamedbstop in mfilenamedbstop if errordbstop if naninfdbstop 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 buggy1 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 errorbuggy(magic(3))
Finally, if any of the elements of the inputError using ==>./Matrix dimensions must agree.Error in ==> buggy.mOn line 3 ==> z = (1:n)./x;
x are zero, a division by zero occurs. This can be illustrated with
which producesdbstop if naninfbuggy(0:2)
Warning: Divide by zeroNaN/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.