Matlab调试器在崩溃后显示变量
Posted
技术标签:
【中文标题】Matlab调试器在崩溃后显示变量【英文标题】:Matlab debugger show variables after crash 【发布时间】:2013-07-09 07:30:19 【问题描述】:我的代码在运行期间有很多变量,它在某行崩溃。现在,显然我想使用调试器在崩溃时明确显示变量值。但是,我可以在该行上定义一个断点,但是当我单击“继续”足够多次以使代码崩溃(该行在循环内,并且在循环的最后一次运行时崩溃)时,matlab 会清除所有的工作区运行时变量。
您知道如何维护变量以查看导致崩溃的值吗?非常感谢。
【问题讨论】:
【参考方案1】:如果您使用dbstop if error
,则 matlab 将在导致错误的行处停止,在实际导致崩溃之前,将所有已定义的变量保留在当前(函数的)工作区中。
另一种方法是使用try
-catch ME
进行错误处理,但在您的情况下这似乎有点过头了。
【讨论】:
另一种选择是只使用条件断点。将条件设置为指示其最后一次循环迭代的某种状态(使用 for 循环很容易)dbstop if error
确实似乎是要走的路。请注意,如果需要进行广泛的分析,您可以使用 save
命令从调试模式存储变量。【参考方案2】:
如果崩溃发生在最后一个例程中,那么请少运行一次循环,并且您拥有所有变量,因此您也可以根据需要保存它们。 现在您可以在循环内逐行运行。
【讨论】:
以上是关于Matlab调试器在崩溃后显示变量的主要内容,如果未能解决你的问题,请参考以下文章