Matlab的调试总体分为,直接调试和间接调试。
1.直接调试:
(1)去掉句末的分号;
(2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件;
(3)适当地方添加输出变量值的语句;
(4)添加keyboard命令;
2.工具调试:
1.)以命令行为主的调试:
(1)设置断点:
dbstop in mfile:在文件名为mfile的M文件第一个可执行语句前设断点;
dbstop in mfile at lineno:在mfile的第lineno行设断点;
dbstop in mfile at subfun:当程序执行到子程序subfun时,暂时中止执行,并设断点;
dbstop if error:遇到错误时,终止M文件运行,并停在错误行(不包括try…catch语句中检测到的的错误,不能在错误后重新开始运行);
dbstop if all error:遇到任何类型错误均停止(包括try…catch语句中检测到的的错误);
dbstop if warning:程序可恢复运行;
dbstop if caught error:当try…catch检测到运行时间错误是,停止M文件执行,可恢复运行;
dbstop if naninf 或 dbstop if infnan
(2)断点清除:
dbclear all:清除所有M文件中的所有断点;
dbclear all in mfile:清除文件名为mfile的文件中的所有断点;
dbclear in mfile:清除文件名为mfile中第一个可执行语句前的断点;
dbclear in mfile at lineno:
dbclear in mfile at subfun:
dbclear if error/warning/naninf/infnan:
(3)恢复运行:
dbcount:从断点处恢复程序的执行,直到下一个断点或错误后返回Matlab基本工作空间;
(4)调用堆栈:
dbst