Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Débugger le code MEX généré

Avant de générer du code C/C++ ou une fonction MEX accélérée, recherchez les éventuels problèmes de conformité dans votre code MATLAB® en générant et exécutant une fonction MEX. Pour découvrir comment résoudre les erreurs courantes, consultez Check for Issues in MATLAB Code Using MEX Functions.

Suivez également les bonnes pratiques ci-dessous pour débugger les fonctions MEX :

  • Lorsque vous appelez la fonction MEX, passez-lui les mêmes entrées que celles utilisées pour l’algorithme MATLAB d’origine. Ne passez pas coder.Constant ni une classe coder.Type à une fonction MEX. Ces classes s’utilisent uniquement avec la fonction codegen.

  • Pour exécuter une fonction MEX générée par MATLAB Coder™, vous devez disposer de licences pour toutes les toolboxes requises par cette fonction MEX. Par exemple, si vous générez une fonction MEX à partir d’un algorithme MATLAB qui utilise une fonction de Computer Vision Toolbox™ ou un System object™, vous devez disposer d’une licence Computer Vision Toolbox pour exécuter cette fonction MEX.

  • Consultez la section « Fonctionnalités étendues » des pages de référence des fonctions que vous utilisez dans votre code. Certaines fonctions MATLAB se comportent différemment dans le code généré. Consultez la rubrique Differences Between Generated Code and MATLAB Code.

  • Examinez les appels de fonctions C/C++ externes qui utilisent coder.ceval. Vérifiez que le type de données, l’entrée et la disposition de la sortie sont corrects. MATLAB utilise une disposition de type column-major par défaut.

  • Après une mise à jour de MATLAB, régénérez les fonctions MEX avant de les exécuter avec la nouvelle version.

  • Utilisez les fonctions disp ou fprintf pour inspecter le contenu des variables de vos fonctions MEX. Vous pouvez également utiliser la fonction save pour enregistrer ces variables dans un fichier au format MAT ou ASCII. Consultez la rubrique Perform Data Read and Write Operations in Generated Code.

  • Débuggez les fonctions MEX avec un outil de débuggage C/C++. Activez le mode débuggage C/C++ avec le paramètre Enable C/C++ compiler debug mode avant de générer le code. Vous pouvez également générer une fonction MEX en mode débuggage à la ligne de commande en utilisant la commande codegen avec l’option -g.

Voir aussi

|

Rubriques