是否可以使用Eclipse调试mex代码?

时间:2013-01-23 01:59:17

标签: linux eclipse matlab debugging mex

我正在尝试编写一些mex代码,但使用gbd在控制台上调试它很痛苦。是否可以使用Eclipse或Matlab的GUI?如果这些不是可行的方法,那么编写提供良好调试功能的mex代码的最佳方法是什么?

3 个答案:

答案 0 :(得分:8)

在Windows平台上:
调试mex代码的最佳方式(根据我的经验)是使用Visual Studio。 这是关于如何做的link

其他平台(Linux / Mac):
我担心除了gdb之外我没有找到任何好办法(根本不是很有趣)。

更新(2018年):

最近,Mathworks发布了一个blog post,描述了如何使用Visual Studio Code来调试mex代码。
我自己没有尝试过,但它似乎是调试mex文件的一个很好的跨平台解决方案。

答案 1 :(得分:8)

调试Cdb中的C / C ++ MEX文件已在official documentation中全面介绍,所以我的建议是尝试将gdb与Eclipse CDT集成。

关于如何正确地做到这一点有很多信息,所以我不打算在这里重复一切。我所知道的最好的教程是IBM的两部分指南,“与CDT调试器连接”

  1. Part 1: Understand the C/C++ debugger interface - 涵盖了高级基础知识。
  2. Part 2: Accessing gdb with the Eclipse CDT and MI - 解释如何使Eclipse与gdb一起使用。
  3. 我认为第2部分是你真正需要的。基本上,您必须安装plug-in并在Eclipse中配置它。

    即使在StackOverflow上,也有很多相关的问题:

    1. How do I use GDB in Eclipse for C/C++ Debugging?
    2. How to install GDB debugger to Eclipse CDT
    3. Debugging with Eclipse CDT and GDB
    4. How can I enter commands to a gdb prompt while debugging with Eclipse CDT?
    5. 我还没有尝试过,所以我希望这有效。

答案 2 :(得分:7)

这是我的解决方案,适用于Ubuntu 12.04,Matlab R2012b和用于C / C ++开发人员Kepler Release的Eclipse IDE。

  1. 在Eclipse中,从“运行”选项卡中打开“调试配置”。然后制作一个新的“C / C ++应用程序”。
  2. 在“Main” - tab中,在“C / C ++ Application”中写入matlab可执行文件的正确路径(我的是“/ usr / local / MATLAB / R2012b / bin / glnxa64 / MATLAB”注意:不是MATLABPATH /斌/ MATLAB)。 Main tab
  3. 在“Arguments”选项卡中,添加“-nojvm”作为程序参数。 Arguments
  4. 在“Environment”中 - tab添加变量“MATLAB_DEBUG”,其值为“gdb” Environment
  5. 按“应用”和“调试”
  6. “Matlab控制台”将在“控制台”视图中打开。
  7. 在此控制台中写入“dbmex on”。这样可以进行调试。
  8. 运行mex文件! (Matlab将停止加载每个新的mex文件)
  9. 玩得开心! : - )