不可重现的matlab编译器输出可执行文件的exe hang

时间:2012-01-06 00:19:01

标签: debugging matlab matlab-deployment

我有以下问题: 我有一些* .m文件形式的Matlab程序。它后来被编译成可执行文件并使用。问题是偶尔生成的可执行文件会挂起,并且在从IDE调试/运行* .m文件时甚至无法重现此行为(即使使用相同的输入数据)。

想弄清楚我打算做什么:

  • 将(。某种程度上)* .m文件编译成C / C ++
  • 将C / C ++编译为调试以获取.exe和.pdb 稍后当.exe挂起只是'附加'可视工作室调试器挂起.exe来检查它'循环/等待'的位置。

不幸的Matlab编译器(我今天被告知)在创建可执行文件之前不会生成C / C ++代码。我被 -g 选项误导了,根据该文档应该执行以下操作:< / p>

-g Generate Debugging Information

Include debugging symbol information for the C/C++ code generated by MATLAB Compiler.

它看起来很像我要存档的东西。 如果有人能够向我解释这种无能为力或建议如何归档我想要做的事情(如果可以完成的话),我将不胜感激。

1 个答案:

答案 0 :(得分:3)

在Matlab编译器中无法创建可调试代码,因为部署的代码使用MCR。 (Matlab虚拟机)。

请参阅此问题:Is there any way to debug compiled components using Matlab Debugger?

由于您没有错误,而是无限循环,因此在这种情况下,最佳解决方案是屏幕输出,希望您能够追踪错误。