我有以下问题:我有一个 Matlab 程序,格式为一组 *.m 文件。它稍后被编译成可执行文件并使用。问题是有时生成的可执行文件会挂起,并且在从 IDE 调试/运行 *.m 文件时(即使使用相同的输入数据)也无法重现此行为。
为了弄清楚我打算做什么:
- 将(不知何故)*.m 文件编译成 C/C++
- 将 C/C++ 编译为调试以获取 .exe 和 .pdb 稍后当 .exe 挂起时,只需将 Visual Studio 调试器“附加”到挂起的 .exe 以检查它“循环/等待”的位置。
Unfortunaley Matlab Compiler(正如我今天被告知的那样)在创建可执行文件之前不会生成 C/C++ 代码。我被mcc的-g选项误导了,根据文档应该执行以下操作:
-g Generate Debugging Information
Include debugging symbol information for the C/C++ code generated by MATLAB Compiler.
它看起来完全像我想要存档的东西。如果有人可以向我解释这种缺陷或建议如何归档我正在尝试做的事情(如果可以做到的话),我将不胜感激。