我编译了一个C++代码到MEX文件,但是在调用这个MEX文件时,它崩溃了。 它使MATLAB中的以下错误消息:mex文件崩溃了,如何在matlab中使用MATLAB_MEM_MGR?
段违规检测
我尝试使用try-catch代码在C++中的文件打印在catch块 像消息,
try {
//my code;
}
catch(std::exception &e)
{
mexPrintf(e.what());
mexEvalString("drawnow;");
return;
}
但打印消息不起作用,代码仍然崩溃。
地看着谷歌,大部分时间它指向某种形式的消息MathWorks公司给出的:http://www.mathworks.de/matlabcentral/newsreader/view_thread/25900
它指示设置可变环境"MATLAB_MEM_MGR=debug"
, 但它没有解释如何使用它?任何人都可以请解释吗?
嗨,我可以解决这个问题。由于错误的输入格式,我得到了崩溃,错误的格式导致零分。 – 2011-06-04 00:56:59
发布此消息之前,我曾尝试用cpp调试代码,但是我无法捕捉它。正如我所提到的,我尝试过使用try catch,printing等等。而且,我从来没有想过这次崩溃可能是由于零分,因此我所有的努力都是要看看我是否试图访问额外的内存。无论如何,谢谢。 – 2011-06-04 01:00:17