【发布时间】:2013-01-06 10:25:15
【问题描述】:
我正在尝试编写一些 mex 代码,但在控制台上使用 gbd 调试它很痛苦。是否可以使用 Eclipse 或 Matlab 的 GUI?如果这些都不是可行的方法,那么编写提供良好调试功能的 mex 代码的最佳方法是什么?
【问题讨论】:
标签: linux eclipse matlab debugging mex
我正在尝试编写一些 mex 代码,但在控制台上使用 gbd 调试它很痛苦。是否可以使用 Eclipse 或 Matlab 的 GUI?如果这些都不是可行的方法,那么编写提供良好调试功能的 mex 代码的最佳方法是什么?
【问题讨论】:
标签: linux eclipse matlab debugging mex
在 gdb 中调试 C/C++ MEX 文件已经在 official documentation 中全面介绍,因此我的建议是尝试将 gdb 与 Eclipse CDT 集成。
那里有很多关于如何正确操作的信息,所以我不会在这里重复所有内容。我所知道的最好的教程是 IBM 的两部分指南,“与 CDT 调试器交互”:
我认为第 2 部分是您真正需要的。基本上,你必须安装一个plug-in 并在 Eclipse 中配置它。
即使在 StackOverflow 上也有不少相关问题:
我还没有尝试过,所以我希望这可行。
【讨论】:
在 Windows 平台上:
调试 mex 代码的最佳方法(根据我的经验)是使用 Visual Studio。
这是一个link 说明如何操作。
其他平台(Linux/Mac):
恐怕除了 gdb 之外我还没有找到任何好的方法(这不很有趣)。
最近,Mathworks 发布了一个 blog post 描述如何使用 Visual Studio Code 来调试 mex 代码。
我自己没有尝试过,但它似乎是调试 mex 文件的一个不错的跨平台解决方案。
【讨论】:
这是我的解决方案,适用于 Ubuntu 12.04、Matlab R2012b 和 C/C++ 开发人员 Kepler 版本的 Eclipse IDE。
【讨论】:
-r "dbmex on" 作为参数,以避免每次都输入它。
.../R2016a/bin/glnxa64/MATLAB 的路径,即我没有在/usr/bin/... 中调用包装脚本,因为 Eclipse 一直在抱怨它。