linux eclipse matlab debugging mex
plug-in

linux - ¿Es posible depurar el código mex con Eclipse?



matlab debugging (3)

Estoy tratando de escribir algo de código mex, pero es doloroso depurarlo en la consola con gbd. ¿Es posible utilizar Eclipse o la GUI de Matlab? Si estos no son métodos factibles, ¿cuál es la mejor manera de escribir código mex que proporcione buenas capacidades de depuración?


Aquí está mi solución que funciona en Ubuntu 12.04, Matlab R2012b, y Eclipse IDE para C / C ++ Developers Kepler Release.

  1. En Eclipse, abra "Configuraciones de depuración" en la pestaña Ejecutar. Luego haga una nueva "Aplicación C / C ++".
  2. En la pestaña "Principal" escriba la ruta correcta al ejecutable matlab en la "Aplicación C / C ++" (la mía es "/ usr / local / MATLAB / R2012b / bin / glnxa64 / MATLAB" NOTA: no MATLABPATH / bin / matlab ).
  3. En la pestaña "Argumentos" -tab agrega "-nojvm" como argumentos del programa.
  4. En la pestaña "Entorno", agregue la variable "MATLAB_DEBUG" con el valor "gdb"
  5. Presiona "Aplicar" y "Depurar"
  6. Se abrirá una "consola Matlab" en la vista "Consola".
  7. Escribe "dbmex en" en esta consola. Esto permite la depuración.
  8. Ejecuta el archivo mex! (Matlab se detendrá al cargar cada nuevo archivo mex)
  9. Diviértete depurando! :-)

La depuración de los archivos C / C ++ MEX en gdb ya está ampliamente cubierta en la documentación oficial , por lo que mi sugerencia es que intente integrar gdb con Eclipse CDT.

Hay mucha información sobre cómo hacerlo correctamente, así que no voy a repetir todo aquí. El mejor tutorial que conozco es la guía de dos partes de IBM, "Interfaz con el depurador CDT" :

  1. Parte 1: Entienda la interfaz del depurador C / C ++ : cubre los aspectos básicos de alto nivel.
  2. Parte 2: Acceso a gdb con Eclipse CDT y MI : explica cómo hacer que Eclipse funcione con gdb.

Creo que la parte 2 es lo que realmente necesitas. Básicamente, debes instalar un plug-in y configurarlo en Eclipse.

También hay bastantes preguntas relacionadas con esto, incluso aquí en :

  1. ¿Cómo uso GDB en Eclipse para la depuración de C / C ++?
  2. Cómo instalar el depurador GDB en Eclipse CDT
  3. Depuración con Eclipse CDT y GDB
  4. ¿Cómo puedo ingresar comandos a un indicador de gdb mientras depuro con Eclipse CDT?

No lo he probado todavía, así que espero que esto funcione.


En la plataforma Windows:
La mejor manera (según mi experiencia) de depurar un código mex es usar Visual Studio. Aquí hay un enlace sobre cómo hacerlo.

Otras plataformas (Linux / Mac):
Me temo que no he encontrado una buena manera de hacerlo aparte de gdb (que no es nada divertido).

Actualización (2018):

Recientemente, Mathworks lanzó una publicación de blog que describe cómo usar Visual Studio Code para depurar el código mex.
No lo he probado yo mismo, pero parece una buena solución multiplataforma para depurar archivos mex.