指定MATLAB故障转储文件的输出目录

时间:2016-06-08 14:05:07

标签: linux matlab

我在Linux上运行MATLAB,在我的主目录(/home/$USER)中存储空间有限。当MATLAB崩溃时,它会将故障转储文件(matlab_crash_dump.XXXX)放在我的主目录中。我想更改放置这些文件的目录。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您需要指定MATLAB_LOG_DIR环境变量。 MATLAB将使用它来存储所有故障转储。

来自related MATLAB Central discussion

  

如果您已设置环境变量$ MATLAB_LOG_DIR,那就在哪里   我们将编写崩溃转储文件。否则,在UNIX上查看$ HOME,或者   在$ TEMP,$ TMP,$ WINDIR,以及最后C:\(按此顺序)在Windows上。   该文件将命名为“matlab_crash_dump。$ pid”,其中$ pid是   MATLAB的进程ID。

您可以在.bashrc文件

中执行此操作
export MATLAB_LOG_DIR=/custom/dir

在运行任何命令之前(或在matlabrc file内)

之内,在MATLAB中
setenv('MATLAB_LOG_DIR', '/custom/dir')

如果您需要对此进行测试,以下简单的mex文件将导致崩溃,从而导致崩溃转储文件。

#include "mex.h"

void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
    /* Access beyond the length of prhs */
    size_t x = mxGetM(prhs[6]);
}
相关问题