我有一个我借用的MEX文件"来自其他人帮助我编写半自动核检测算法。问题是MEX文件偶尔会导致分段错误。但是,如果代码第二次使用相同的参数运行,那很好。
我希望MEX文件有一种try/catch
成语,但是在我星期六的大部分时间都在找东西之后,我找不到任何东西。
对这个问题的任何帮助都会很棒!否则,我将不得不将.cpp
移植到MATLAB中(使用数百个依赖项,大约需要10,000行: - ()。
答案 0 :(得分:4)
您使用的是哪个平台?有一些方法可以帮助调试您的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
NB:我反对将OP引用到异地链接以帮助解决他或她的问题。我通常在帖子中包含大部分答案,并提供链接作为参考。因为您还没有告诉我您正在使用什么平台,所以我不会为所有平台编写解决方案,因为这会花费太多时间。因此(我祈祷链接长时间保持稳定),您可以参考适用于您平台的相应链接。