4.6 程序调试

程序的错误可分为语法错误和逻辑错误。语法错误包括变量名与函数名的误写、标点符号的缺漏和end的漏写等;逻辑错误可能是程序本身的算法问题或对命令使用不当。

在使用MATLAB时,可以采用直接调试或工具调试的方法对程序进行调试。

4.6.1 直接调试

对于简单程序,直接调试法是一种简便快捷的方法。直接调试法采用的基本调试手段包括:

● 通过分析将重点怀疑语句后的分号删除,将结果显示出来。然后将结果与预期值做比较,从而判断程序执行到该处时是否发生了错误。

● 在适当的位置添加输出变量值的语句。

● 在程序的适当位置添加keyboard命令。当程序执行到该处时将暂停,并显示k>>提示符,用户可以查看或变更工作区中显示的各个变量的值,在提示符后输入return命令可以继续执行原文件。

● 调试函数M程序时,可以利用注释符号“%”屏蔽函数声明行,并定义输入变量的值,以脚本M文件的方式执行程序,可以方便地查看中间变量,从而找出错误。

4.6.2 工具调试

对于大型程序,直接调试已经不能满足调试要求,可以考虑采用工具调试。所谓工具调试是指利用MATLAB的M文件编辑器中集成的程序调试工具对程序进行调试。

工具调试的步骤如下:

准备文件。将需要调试的文件最好单独放置到新的文件夹中,并将该文件夹设置为工作目录;使用M文件编辑器打开文件。

调试前,若对文件有所改动,应该及时保存。保存后,才能安全地进行调试。

单击run对程序进行试运行,查看程序的可运行情况。

设置断点。断点的类型包括:标准断点、条件断点和错误断点。

在断点存在的情况下运行程序,这时命令行窗口出现K>>提示符。程序运行碰到断点时,会在M文件编辑器和命令行窗口给出提示。

检查变量的值。根据这些值判断程序当前的正误情况。

按需要单击M文件编辑器的Continue、Step、Step In、Step Out等按钮。

结束调试,修改程序。继续以上的步骤。

这里仅给出进行攻击调试的粗略步骤,更多的相关知识可以参考MATLAB R2016a的帮助文档。