调试A.马铃薯程序

调试Matlab®以图形方式编程,使用编辑器/调试器。或者,您可以在命令窗口中使用调试函数。两种方法都是可互换的。

在开始调试之前,请确保保存了您的程序,并且在搜索路径或当前文件夹中存在程序和所呼叫的任何文件。

  • 如果在编辑器中运行具有未保存的更改的文件,则在运行之前将自动保存文件。

  • 如果从命令窗口中运行一个未保存的更改的文件,则Matlab软件运行已保存的文件版本。因此,您没有看到更改的结果。

设置断点

设置断点以暂停执行MATLAB文件,以便检查您认为问题的值或变量。您可以使用编辑器设置断点,使用命令窗口中的函数或两者都使用函数。

有三种不同类型的断点:标准,条件和错误。添加A.标准在编辑器中断点,单击要设置断点的可执行行中的断点巷。这断点巷子是编辑器左侧的窄列,向右的右侧。你也可以使用F12.键设置断点。

可执行行由断点巷中的短划线( - )表示。例如,单击下面的代码中第2行旁边的断点巷,以在该行添加断点。

如果可执行语句跨越多行,您可以在该语句中的每一行设置断点,即使额外的行没有断点巷中的an(dash)。例如,在此代码中。您可以在所有四行设置一个断点:

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

运行文件

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

  • 跑步按钮更改为a暂停按钮。

  • 命令窗口中的提示更改为K >>表示MATLAB处于调试模式,键盘处于控制状态。

  • Matlab在程序的第一个断点暂停。在编辑器中,断点右侧的绿色箭头表示暂停。程序不会执行暂停发生的行,直到恢复运行。例如,在程序执行之前,调试器暂停x =那些(1,10);

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

    如果在命令窗口中使用调试函数,请使用DBStack.查看函数调用堆栈。

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

暂停运行文件

暂停在运行时执行程序,转到编辑标签并单击暂停按钮。matlab暂停在下一个可执行行中的执行,而且暂停按钮更改为a继续按钮。要继续执行,请按继续按钮。

如果要检查长期运行程序的进度,暂停是有用的,以确保它按预期运行。

笔记

单击暂停按钮可能导致MATLAB暂停在您自己的程序文件之外的文件中。按下继续按钮恢复正常执行而不更改文件结果。

查找并解决问题

暂停代码时,您可以查看或更改变量的值,或者您可以修改代码。

调试时查看或更改变量

在调试时查看变量的值,以查看代码行是否已生成预期结果。为此,请将鼠标指针放在变量左侧。变量的当前值出现在数据提示中。

数据提示保持视图,直到移动指针。如果您遇到了待定数据提示的问题,请单击包含变量的行,然后将指针移动到变量旁边。有关更多信息,请参阅调试时检查值

您可以在调试时更改变量的值,以查看新值是否会产生预期的结果。使用程序暂停,将新值分配给命令窗口,工作区浏览器或变量编辑器中的变量。然后,继续运行或踩到程序。

例如,这里的Matlab暂停了为了循环在哪里n = 2

  • 类型n = 7;在命令行中更改当前值N从2到7。

  • 继续运行下一行代码。

Matlab运行代码行x(n)= 2 * x(n-1);n = 7.

调试时修改代码部分

您可以在调试时修改一部分代码,以测试可能的修复,而无需保存更改。通常,在退出调试后修改MATLAB文件是一个很好的做法,然后保存修改并运行该文件。否则,您可能会获得意外结果。但是,在调试期间,您想要尝试的情况。

在调试时修改程序:

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

    断点转灰色,表示它们无效。

  2. 选择MATLAB暂停的行后的所有代码,右键单击,然后选择评估选择从上下文菜单中。

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

步入文件

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

此表介绍了可用的调试操作和可用于执行它们的不同方法。

描述

工具栏按钮

功能替代

继续执行文件,直到光标定位的线路。也可在上下文菜单上使用。

跑到游标

没有任何

执行文件的当前行。

DBSTEP.

执行文件的当前行,如果行是对另一个函数的调用,则步入该函数。

介入;涉足

DBSTEP.

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

继续

dbcont.

介入后,运行所谓的函数或本地函数的其余部分,留下被叫函数,暂停。

走出来

DBSTEP.出去

暂停调试模式。

暂停

没有任何

退出调试模式。

退出调试

dbquit.

结束调试会话

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

退出调试后,编辑器显示中的暂停指示器不再出现,并且正常>>提示在命令窗口中重新出现K >>。您不再可以访问呼叫堆栈。

如果MATLAB软件在断点暂停时变得不响应,请按Ctrl + C.返回matlab提示符。

相关话题