Matlab 7.12 2011a,我有一个finish.m
文件。当我在正常情况下调用quit
或exit
从命令窗口调用时,一切都很好。但是如果我处于调试模式,在命令窗口中工作(提示现在K>>
)并输入exit
,我现有的 matlab.mat 数据文件将被删除并替换为 Matlab 无法打开的 1k 文件。编辑:不能重复这种腐败。matlab.mat 文件确实包含调试环境的内容(仅此而已)。
我知道退出调试的正确命令是dbquit
. 我的问题是为什么 Matlab 允许我exit
在我不在家庭环境中时使用 - 或者为什么 Matlab 不将其重新映射到dbquit
,以避免这种灾难性的数据丢失。
编辑:这是我的finish.m
代码。
disp('保存工作区数据');
保存
保存(sprintf('mat_%s',date));
exit
在调试器内部调用会导致finish.m
保存函数工作区的内容(而不是父环境)。当你测试这个exit
调用时,你的主环境真的被保存了吗?