防止MEX文件在MATLAB中崩溃

use*_*025 1 c++ crash matlab mex

我有一个MEX文件,我从别人那里“借”来帮助我编写半自动核探测算法。问题是MEX文件偶尔会导致分段错误。但是,如果代码第二次使用相同的参数运行,那就很好了。

我希望try/catch对MEX文件有一种习惯用法,但是在周六的大部分时间里寻找东西之后,我什么都找不到。

在这个问题上的任何帮助将是惊人的!否则,我将不得不将其移植.cpp到MATLAB中(使用数百个依赖项:-()大约需要10,000行。

ray*_*ica 5

您正在使用哪个平台?有一些方法可以帮助调试 MEX文件。每当出现分段错误时,您都可以使用IDE告诉您崩溃在代码中的何处。

这是Mac OS的使用说明:http : //www.mathworks.com/help/matlab/matlab_external/debugging-on-mac-platforms.html

这是Linux的说明:http : //www.mathworks.com/help/matlab/matlab_external/debugging-on-linux-platforms.html

这是Windows的说明:http : //www.mathworks.com/help/matlab/matlab_external/debugging-on-microsoft-windows-platforms.html

注意:反对将OP引至异地链接以帮助解决他或她的问题。通常,我的帖子中都会包含大多数答案,并提供链接作为参考。因为您没有告诉我您使用的平台,所以我不会为所有平台编写解决方案,因为这将花费太多时间。这样(我为链接长期稳定而祈祷),您可以参考适合您平台的链接。