有没有什么办法可以像ctrl + c一样从调试器中停止执行matlab程序,但是又可以继续执行(就像您在c#中那样)?
如果不是,除了尝试在matlab代码中抢先设置断点或dbstop语句以外,还有什么更好的解决方法?
我希望能够中断长时间运行的仿真以查看当前状态,然后继续仿真。
我当前正在使用/考虑的两个选项是
代码中的dbstop命令(或(条件)断点)。缺点是有时我不想停止模拟几个小时,有时只想在几秒钟后停止模拟(而且我不一定事先知道),这种方法不能很好地工作:如果我将中断条件设置为每5分钟中断一次,那么我就无法让matlab在没有互动的情况下运行数小时。如果将条件设置为较高,则必须等待太长时间才能使条件达到。
包含代码以每隔几秒钟/分钟保存一次工作空间并将该工作空间导入到另一个Matlab实例中。缺点是这是一个很大的麻烦,也不一定允许我使用保存的工作区的状态恢复仿真,然后逐步执行代码进行几次迭代。
我希望有比2个更好的解决方案。谢谢您的任何建议!
编辑:我想我要做的是编写简单的matlab函数,该函数每次迭代都会检查环境变量或磁盘上的文件,如果我在此文件或环境中设置了标志,则会调用dbstop。通过这种方式,我可以通过编辑文件来控制何时(如果需要,可以从多个matlab外部)命中断点。凌乱,但应该可以。
潇潇雨雨
有只小跳蛙