你能暂停MATLAB吗?

时间:2013-09-17 20:26:41

标签: matlab debugging pausing-execution

在MATLAB中,我运行的代码需要一段时间才能运行。我想暂停代码来检查一些变量值。有没有办法我可以做到这一点,而无需从头开始重新运行代码?我不想终止该计划;只是暂停它。

4 个答案:

答案 0 :(得分:6)

您可以通过两种方式暂停执行并提供命令提示符:

  • keyboard放入您要停止的代码中。
  • 设置断点。

您可以分别使用dbcontdbquit恢复和停止执行。要继续前进,请使用dbstepdbstack可让您了解自己的位置。还有更多命令。任何这些的帮助页面都会为您提供其他建议。

正如Dennis Jaheruddin所指出的,dbstop还有一些值得尝试的有用功能。特别是能够通过dbstop if语法设置条件和全局(符合标准的任何行)断点。例如,dbstop if error将在任何错误时中断调试命令提示符。他现在提出的一个建议是将dbstop if error放入startup.m,以便在启动MATLAB时此行为将是默认的。您可能需要在userpath文件夹中创建此文件; edit(fullfile(regexp(userpath,'^[^;]*','match','once'),'startup.m'))

答案 1 :(得分:2)

实现您正在寻找的内容的一种方法是使用code sections(也称为代码单元格),将代码划分为由具有两个百分号(%%)的行分隔的部分。

然后,在编辑器中,您可以按 ctrl + 输入执行当前代码部分,然后按 ctrl +向上/向下在各部分之间导航。

答案 2 :(得分:1)

确实有暂停命令,但是由于程序正在运行,您无法检查工作空间中的变量内容。

您可能需要设置断点(请参阅“调试”菜单/键F12)。

在断点处,matlab暂停程序并进入调试模式,您可以在其中查看和编辑变量。完成后,您可以恢复暂停的程序。

答案 3 :(得分:1)

我不确定Windows用户,但如果您正在运行Linux,则可以使用

在终端中启动Matlab
matlab -nodesktop

然后一旦Matlab启动,cd到你的项目目录并启动你的Matlab脚本。现在,只要您想暂停执行,就可以使用ctrl-Z。然后恢复类型fg。我希望这有帮助。