我正在尝试在代码中找到错误。错误是第3级的函数,最初工作正常,但不知何故在某一点停止(在循环中多次调用该函数)。
错误表示变量未定义(它不会在开始时发生,但在超过150次后发生)。我可以在句子上面写一些条件来在错误发生前停止吗?然后我就知道为什么这个变量不再被定义了。
答案 0 :(得分:8)
使用dbstop if error
。发生错误时,dbstop
命令将带您在已停止的函数中命令提示符。
您也可能会变得棘手并使用dbstop in FILESPEC at LINENO if EXPRESSION
语法。例如,如果要在错误发生的行之前不存在变量,则要中断,例如myFun.m
的第224行:
dbstop in myFun.m at 224 if ~exist('x','var')
如果myFun.m
不是变量,它将在x
的第224行停止。
答案 1 :(得分:4)
类型
dbstop if error
然后执行代码。
有关更多选项,请参阅dbstop
的{{3}}。
答案 2 :(得分:0)
检查您是否超出了正在迭代的数组或其他结构