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