调试MATLAB程序

要调试MATLAB®程序图形,使用编辑器/调试。或者,也可以在命令窗口中使用调试功能。这两种方法都可以互换。

你开始调试之前,请确保您的程序保存和程序,在你的搜索路径或当前文件夹调用存在的任何文件。

  • 如果您运行从编辑器中未保存更改的文件,那么该文件将自动运行之前保存。

  • 如果运行在命令窗口中未保存的更改一个文件,然后MATLAB软件运行的文件保存的版本。因此,你没有看到更改的结果。

设置断点

设置断点暂停MATLAB文件的执行,因此您可以在您认为问题可能是检查值或变量。您可以设置使用编辑器断点,在命令窗口,或两者使用的功能。

有三种不同类型的断点:标准,条件和错误。要添加标准断点在编辑器中,要设置断点可执行线点击断点胡同。该断点胡同是在编辑器的左侧的窄列,行号的右侧。您也可以使用F12键设置断点。

在断点胡同 - ()执行行由破折号表示。例如,单击断点胡同旁线2中的代码下面在该行添加一个断点。

如果一个可执行语句跨越多行,您可以在该语句的每一行设置一个断点,即使其他行没有 - 在断点胡同(DASH)。例如,在此代码。您可以设置在所有四个行断点:

有关不同类型的断点的更多信息,请参阅设置断点

运行文件

设置断点后,运行在命令窗口或编辑该文件。运行该文件会产生以下结果:

  • 按钮变为暂停按钮。

  • 在命令窗口中提示变为ķ>>这表明MATLAB在调试模式,并且键盘是在控制。

  • MATLAB暂停在该程序的第一个断点。在编辑器中,一个绿色的箭头正好断点右边表示暂停。其中发生停顿,直到它恢复运行程序不执行就行了。例如,在程序执行前这里的调试器暂停X =那些(1,10);

  • MATLAB显示在当前工作空间函数调用栈,在编辑选项卡中调试部分。

    如果您使用调试在命令窗口中的功能,使用dbstack查看函数调用栈。

有关使用函数调用栈的更多信息,请参阅选择工作区

暂停正在运行的文件

要暂停其运行时程序的执行,转到编辑选项卡并单击暂停按钮。MATLAB在下一可执行行暂停执行,并暂停按钮变为继续按钮。要继续执行,按继续按钮。

如果你想检查一个长期运行的程序的进度,确保按预期它正在运行暂停是非常有用的。

注意

点击暂停按钮会引起MATLAB在自己的程序文件之外的文件暂停。按继续按钮恢复正常的执行,而不改变文件的结果。

查找和解决问题

当你的代码暂停,你可以查看或更改变量的值,也可以修改代码。

查看或更改变量在调试

查看变量的值在调试时看到的代码行是否已产生预期的结果或没有。要做到这一点,你的鼠标指针定位到变量的左侧。所述变量的当前值显示在一个数据提示。

数据提示停留在视图,直到您移动指针。如果你有麻烦的数据提示出现,单击包含变量的行,然后移到旁边的变量的指针。欲了解更多信息,请参阅检查在调试值

调试时,看看新的值会产生预期的效果,你可以改变一个变量的值。随着节目暂停,分配一个新的值在命令窗口中的变量,Workspace浏览器,或变量编辑器。然后,继续运行或步进通过程序。

例如,这里MATLAB暂停内对于其中环n = 2的

  • 类型N = 7;在命令行改变的当前值ñ为2〜7。

  • 继续运行的下一行代码。

MATLAB运行的代码行X(N)= 2 * X(N-1);N = 7

代码的修改部分,而调试

在调试,测试可能的解决方法,而无需保存更改您可以修改的代码段。通常情况下,这是一个很好的做法,修改MATLAB文件退出调试后,然后保存修改并运行该文件。否则,你可能会得到意想不到的效果。不过,也有你想要的调试过程中进行实验的情况。

要修改的程序在调试时:

  1. 当你的代码暂停,修改尚未运行的文件的一部分。

    断点变成灰色,表明它们是无效的。

  2. 选择在此MATLAB暂停,用鼠标右键单击线后,所有的代码,然后选择评估选型从上下文菜单中。

之后的代码评估完成,停止调试并保存或撤消继续调试过程之前所做的任何更改。

步骤通过文件

在调试时,您可以逐步通过MATLAB文件,在您要检查值的点暂停。

此表介绍了可调试操作,你可以用它来执行它们的不同方法。

描述

工具栏按钮

功能替代

继续文件的执行,直至在那里光标被定位在线路。也可在上下文菜单上。

运行到光标

没有

执行该文件的当前行。

dbstep

执行该文件的当前行和,如果线路到另一个函数的调用,步骤进入该函数。

介入;涉足

dbstep

恢复文件的执行,直到完成,或者直到遇到另一个断点。

继续

dbcont

步进后,运行调用的函数或局部功能的其余部分,离开调用的函数,并暂停。

步出

dbstep

暂停调试模式。

暂停

没有

退出调试模式。

退出调试

dbquit

结束调试会话

在您确定了问题,通过进入结束调试会话编辑标签并点击退出调试。如果要更改并保存文件,则必须结束调试会话,或者如果你想运行在MATLAB的其他程序。

退出调试后,在编辑器中显示暂停指标不再出现,和正常>>提示重新出现在命令窗口中发生的ķ>>。您不再可以访问调用堆栈。

如果MATLAB软件变得无响应时,它会暂停在断点处,按按Ctrl + C返回到MATLAB提示。

相关话题