我編譯了一個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