代码之家  ›  专栏  ›  技术社区  ›  Tatsuya Yokota

用于调试的Python退出函数的Matlab等价物

  •  0
  • Tatsuya Yokota  · 技术社区  · 7 年前

    我想知道当你想让一个程序在某个点终止以进行简单的检查,如查看数组的形状等时,Matlab中的常见做法是什么。

    在Python中,我通常插入 exit() 在我希望程序终止的地方。

    我查看了Matlab和 here 它说有一个 exit 语句,但这会导致关闭Matlab GUI,因此我无法检查到Matlab终端的输出。

    我知道我可以在运行程序时手动终止程序,但这让我无法控制何时终止。

    2 回复  |  直到 7 年前
        1
  •  1
  •   nekomatic    7 年前

    只要您在MATLAB IDE中运行MATLAB代码,并且它不是实时脚本,那么最简单的方法就是手动设置 breakpoint 在感兴趣的行上,单击行号右侧:

    MATLAB editor with breakpoint set

    当执行到达带有断点的行时,它将暂停,您可以浏览工作区的内容、在命令窗口中键入命令或使用 持续 退出调试 工具栏中的按钮。

    dbstop 它的相关命令正在执行,但在IDE中开发时更方便(IMHO)。我想不出一个好的理由来选择命令行版本,除非出于某种原因,您被限制为只输入文本。

    使用断点是任何语言(包括Python)中调试的一个非常基本的部分。如果您当前用于Python的IDE不支持它们,那么我强烈建议您考虑更改为支持它们的IDE。

        2
  •  1
  •   Ramashalanka    7 年前

    您正在寻找 dbstop : https://mathworks.com/help/matlab/ref/dbstop.html

    设置断点 函数用于临时停止程序的执行,并为用户提供检查本地工作区的机会。“对于您描述的用途,最可能的形式是 dbstop in FILESPEC at LINENO ,例如。 dbstop in myfunction at 34 .