登录论坛

查看完整版本 : 将输出错误消息保存到MATLAB中的文件中


poster
2019-12-10, 16:49
有没有一种方法可以将MATLAB错误消息保存到文件中?

这可能是一个简单的问题,但Google无法给我答案。我已经编译了一个GUI可执行文件,以在没有MATLAB许可的情况下使用,并且有时会冻结。为了美观,我取消了通常伴随着此类可执行文件的命令窗口,因此无法通过命令提示符显示错误消息。我希望能够创建一个错误日志,该日志可以通过电子邮件发送给我进行调试。

谢谢!


回答:
使用“日记”命令创建一个日志文件。这将使Matlab将所有命令行输出的副本写入文件,包括警告,错误消息和未处理异常的堆栈跟踪。然后,Sendmail()可以在出现错误时将其发送给您。如果要节省空间,可以让程序在正常(无错误)程序退出时删除其日志文件。

恕我直言,这比使用“ try ... catch;写入错误;结束”更为可取,因为:


它将捕获所有未捕获的错误,包括AWT线程引发的Java异常和GUI中M代码回调的错误,这些错误很难得到解决。
如果Matlab发生严重崩溃(例如出现段错误),则M代码级别的try / catch不会捕获它。但是日记文件可能仍然记录了段故障转储。
您可以发出进度消息,调试信息和警告,以提供有关导致错误的程序行为的更多信息,并将它们全部捕获。
我喜欢使代码在catch块中保持最少。
还有一个等效的命令行选项。我不知道如何为已编译的Matlab调用它。



更多&回答... (https://stackoverflow.com/questions/1918500)