【问题标题】:Matlab debugger show variables after crashMatlab调试器在崩溃后显示变量
【发布时间】:2013-07-09 07:30:19
【问题描述】:

我的代码在运行期间有很多变量,它在某行崩溃。现在,显然我想使用调试器在崩溃时明确显示变量值。但是,我可以在该行上定义一个断点,但是当我单击“继续”足够多次以使代码崩溃(该行在循环内,并且在循环的最后一次运行时崩溃)时,matlab 会清除所有的工作区运行时变量。

您知道如何维护变量以查看导致崩溃的值吗?非常感谢。

【问题讨论】:

    标签: matlab debugging


    【解决方案1】:

    如果您使用dbstop if error,则 matlab 将在导致错误的行处停止,在实际导致崩溃之前,将所有已定义的变量保留在当前(函数的)工作区中。

    另一种方法是使用try-catch ME 进行错误处理,但在您的情况下这似乎有点过头了。

    【讨论】:

    • 另一种选择是只使用条件断点。将条件设置为指示其最后一次循环迭代的某种状态(使用 for 循环很容易)
    • dbstop if error 确实似乎是要走的路。请注意,如果需要进行广泛的分析,您可以使用 save 命令从调试模式存储变量。
    【解决方案2】:

    如果崩溃发生在最后一个例程中,那么请少运行一次循环,并且您拥有所有变量,因此您也可以根据需要保存它们。 现在您可以在循环内逐行运行。

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      相关资源
      最近更新 更多