要调试MATLAB®使用编辑器/调试器图形化地编程。或者,您可以在“命令”窗口中使用调试函数。这两种方法是可以互换的。
你开始调试之前,请确保您的程序保存和程序,在你的搜索路径或当前文件夹调用存在的任何文件。
如果在编辑器中运行未保存更改的文件,则会在运行前自动保存该文件。
如果运行在命令窗口中未保存的更改一个文件,然后MATLAB软件运行的文件保存的版本。因此,你没有看到更改的结果。
设置断点暂停MATLAB文件的执行,因此您可以在您认为问题可能是检查值或变量。您可以设置使用编辑器断点,在命令窗口,或两者使用的功能。
有三种不同类型的断点:标准断点、条件断点和错误断点。添加一个标准断点在编辑器中,要设置断点可执行线点击断点胡同。该断点胡同是在编辑器的左侧的窄列,行号的右侧。在断点胡同 - ()执行行由破折号表示。例如,单击断点胡同旁线2中的代码下面在该行添加一个断点。
如果一个可执行语句跨越多行,您可以在该语句的每一行设置一个断点,即使其他行没有 - 在断点胡同(DASH)。例如,在此代码。您可以设置在所有四个行断点:
有关不同类型的断点的详细信息,请参见设置断点。
设置断点后,从命令窗口或编辑器运行文件。运行该文件产生以下结果:
该跑按钮变为暂停
按钮。
在命令窗口中提示变为K > >
这表明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文件,然后保存修改后的文件并运行该文件是一种很好的实践。否则,您可能会得到意想不到的结果。但是,在某些情况下,您需要在调试期间进行试验。
要修改的程序在调试时:
当代码暂停时,修改文件中尚未运行的部分。
断点变成灰色,表明它们是无效的。
选择在此MATLAB暂停,用鼠标右键单击线后,所有的代码,然后选择评估选择从上下文菜单中。
在代码评估完成后,停止调试并保存或撤销在继续调试过程之前所做的任何更改。
在调试时,您可以逐步通过MATLAB文件,在您要检查值的点暂停。
此表介绍了可调试操作,你可以用它来执行它们的不同方法。
确定问题后,通过转到编辑选项卡并单击退出调试。如果要更改和保存文件,或者要在MATLAB中运行其他程序,则必须结束调试会话。
在您退出调试后,编辑器中显示的暂停指示器不再出现,而正常显示>>
提示重新出现在命令窗口中发生的K > >
。您不再可以访问调用堆栈。
如果MATLAB软件在断点暂停时变得无响应,请按下Ctrl + c返回到MATLAB提示符。