【问题标题】:Not reproducible exe hang of Matlab Compiler output executableMatlab编译器输出可执行文件的不可重现的exe挂起
【发布时间】:2018-04-09 11:50:30
【问题描述】:

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

为了弄清楚我打算做什么:

  • (以某种方式)将 *.m 文件编译成 C/C++
  • 将 C/C++ 编译为调试以获取 .exe 和 .pdb 稍后当 .exe 挂起时,只需将 Visual Studio 调试器“附加”到挂起的 .exe 以检查它“循环/等待”的位置。

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

-g Generate Debugging Information

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

它看起来完全像我要存档的东西。 如果有人能向我解释这种缺陷或建议如何归档我正在尝试做的事情(如果可以做到的话),我将不胜感激。

【问题讨论】:

    标签: debugging matlab matlab-deployment


    【解决方案1】:

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

    看到这个问题:Is there any way to debug compiled components using Matlab Debugger?

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

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 2012-08-10
      • 1970-01-01
      • 2019-08-23
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2023-04-02
      相关资源
      最近更新 更多