我正在使用可处理10个文件的MATLAB GUI代码,广泛使用图像采集工具,以及数据采集工具和GPU编程。
它通常运行良好,但有时(最近经常发生)MATLAB完全崩溃,因此我需要重新启动它。
该系统使用Win7-64(最终版)SP1,并具有Xeon CP E5-1650 @ 3.2 GhZ和64GB RAM,以及Tesla C2075 GPU。Matlab版本是2012a,它还使用了带有Jacket的MATLAB上的最新GPU加速。
当Matlab崩溃时,Win7提供“调试”功能,而Visual Studio即时调试器则通知“ Matlab.exe [2176]中发生未处理的Win32异常”。
发生这种情况后,仅重新启动Matlab无效(该符号显示了,但随后消失了,没有任何反应),我需要重新启动。
为什么会这样,我怎么能检测到呢?我只能想到内存泄漏或有缺陷的内存。
更新: Matlab也开始因为以前的简单GUI而崩溃。现在,matlab根本无法加载,我很快就得到了徽标屏幕,然后什么也没有发生。赢7检查内存,chkdsk没有帮助。我安装了更新的Java版本,也没有帮助...接下来,我将尝试重新安装Matlab :(
更新2
我追踪了这个问题,无论是否相信,都是作为Matlab适配器(使用Java)编写的摄像头软件。我从公司(Allied vision)那里了解到,他们使用的Java代码在OS级别上与Matlab冲突,从那时起,他们发布了稳定的新软件版本(称为Vimba)。摄像头(Prosilica GX)与Matlab一起使用,但是只能使用大约一半的帧速率(〜60 fps,而不是112 fps)。TMW和Allied的愿景都知道这一点,我还没有从他们那里得到解决方案(现在已经差不多一年了)。
clear
工作区并运行了特定的代码片段之后,通常不会崩溃,但有时会崩溃?在这种情况下,您能否描述代码在做什么以及需要多少内存?尚未尝试过此解决方案,但pack
有时调用可能会很有趣。