2013-01-23 14 views
17

Sto provando a scrivere un po 'di codice, ma è doloroso eseguirne il debug sulla console con gbd. È possibile utilizzare Eclipse o la GUI di Matlab? Se questi non sono metodi fattibili, qual è il modo migliore di scrivere codice mex che offra buone capacità di debug?E 'possibile eseguire il debug del codice mex con Eclipse?

risposta

7

Sulla piattaforma Windows:
Il modo migliore (per la mia esperienza) per eseguire il debug di un codice mex è quello di utilizzare Visual Studio. Ecco uno link su come farlo.

altre piattaforme (Linux/Mac):
ho paura che non ho trovare qualsiasi buon modo per farlo oltre a gdb (che è non divertimento a tutti).

8

Il debug di file MEX C/C++ in gdb è già ampiamente trattato nello official documentation, quindi il mio suggerimento è di provare e integrare gdb con Eclipse CDT.

C'è un sacco di informazioni là fuori su come farlo correttamente, quindi non ho intenzione di ripetere tutto qui. Il miglior tutorial che conosco è la guida di IBM in due parti, "interfacciamento con il debugger CDT":

  1. Part 1: Understand the C/C++ debugger interface - copre le basi di alto livello.
  2. Part 2: Accessing gdb with the Eclipse CDT and MI - spiega come far funzionare Eclipse con gdb.

Penso che la parte 2 sia ciò di cui hai veramente bisogno. Fondamentalmente, devi installare un plug-in e configurarlo in Eclipse.

Ci sono anche un bel paio di domande relative a questo anche qui su 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?

non l'ho provato ancora fuori, quindi spero che funzioni.

+0

Hai i miei ringraziamenti per la risposta ... Sto usando il modo di doc ufficiale su linux ma è molto dispendioso in termini di tempo rispetto al modo di debug della GUI. Ma darò un'occhiata ai link che dai. – erogol

+0

@Erogol - Ho messo una taglia sulla tua domanda sperando di ottenere risposte migliori, specialmente per la configurazione di eclipse + gdb + linux. Si prega di prestare attenzione a questa domanda e le risposte durante il periodo di taglia, in modo che possiamo trovare una soluzione di lavoro insieme. Grazie. – Shai

+0

@EitanT - Avevo sperato in un metodo più dettagliato per il debug in messico che utilizza eclipse su Linux. beh, nessun altro ha raccolto la sfida, eccoci qui, usa questo bene. – Shai

7

Ecco la mia soluzione che funziona in Ubuntu 12.04, Matlab R2012b ed Eclipse IDE per gli sviluppatori C/C++ di Kepler.

  1. In Eclipse aprire "Debug Configurations" dalla scheda Esegui. Quindi creare una nuova "Applicazione C/C++".
  2. Nella barra "Main" scrivere il percorso corretto per l'eseguibile matlab in "Applicazione C/C++" (il mio è "/ usr/local/MATLAB/R2012b/bin/glnxa64/MATLAB" NOTA: non MATLABPATH/bin/matlab). Main tab
  3. Nella sezione "Argomenti" aggiungere "-nojvm" come argomenti del programma. Arguments
  4. Nella "Ambiente" -tab aggiungere "MATLAB_DEBUG" variabile con valore "gdb" Environment
  5. Premere "Applica" e "Debug"
  6. "console Matlab"
  7. A si aprirà nella "console" vista.
  8. Scrivere "dbmex on" in questa console. Ciò abilita il debug.
  9. Esegui il file mex! (Matlab si fermerà al caricamento di ogni nuovo file mex)
  10. Divertiti nel debugging! :-)
+0

Ho provato questo con eclipse + Mingw64 in Windows e non funziona. Ottengo il passo 7 e viene visualizzato "DBMEX non funziona sul PC. Consulta la Guida alle interfacce esterne MATLAB per i dettagli su come eseguire il debug dei file MEX." – payala

+0

Non l'ho provato in Windows. Lo studio visivo è molto più facile. –

+0

Grazie! Funziona per me su ArchLinux con R2016a ed Eclipse neon 4.6. Ho appena aggiunto come argomenti anche '-r" dbmex on "' per evitare di scriverlo ogni volta. – bonanza