【发布时间】: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