Recherche…


Syntaxe

  • dbstop dans le fichier à l'emplacement si expression

Paramètres

Paramètre Détails
fichier Nom du fichier .m (sans extension), par exemple fit . Ce paramètre est (obligatoire) sauf si vous définissez des types de points d'arrêt conditionnels spéciaux tels que dbstop if error ou dbstop if naninf .
emplacement Numéro de ligne où le point d'arrêt doit être placé. Si la ligne spécifiée ne contient pas de code exécutable, le point d'arrêt sera placé sur la première ligne valide après celle spécifiée.
expression Toute expression ou combinaison de celles-ci qui donne une valeur booléenne. Exemples: ind == 1 , nargin < 4 && isdir('Q:\') .

Travailler avec des points d'arrêt

Définition

En développement logiciel, un point d'arrêt est un point d'arrêt ou de pause intentionnel dans un programme, mis en place à des fins de débogage.

Plus généralement, un point d'arrêt est un moyen d'acquérir des connaissances sur un programme pendant son exécution. Pendant l'interruption, le programmeur inspecte l'environnement de test (registres généraux, mémoire, journaux, fichiers, etc.) pour savoir si le programme fonctionne comme prévu. En pratique, un point d'arrêt consiste en une ou plusieurs conditions qui déterminent à quel moment l'exécution d'un programme doit être interrompue.

-Wikipédia

Points d'arrêt dans MATLAB

Motivation

Dans MATLAB, lorsque l'exécution s'interrompt à un point d'arrêt, les variables existant dans l'espace de travail actuel (ou portée ) ou l'un des espaces de travail appelants peuvent être inspectés (et généralement modifiés).

Types de points d'arrêt

MATLAB permet aux utilisateurs de placer deux types de points d'arrêt dans les fichiers .m :

  • Points d' arrêt standard (ou " illimités ") (affichés en rouge) - suspendre l'exécution à chaque fois que la ligne marquée est atteinte.
  • Points d'arrêt "conditionnels" (affichés en jaune) - interrompre l'exécution à chaque fois que la ligne marquée est atteinte ET que la condition définie dans le point d'arrêt est évaluée comme true .

Différents symboles de points d'arrêt dans l'interface graphique

Placer les points d'arrêt

Les deux types de points d'arrêt peuvent être créés de plusieurs manières:

  • En utilisant l'interface graphique de l'éditeur MATLAB, en cliquant avec le bouton droit sur la ligne horizontale située à côté du numéro de ligne.

  • En utilisant la commande dbstop :

    % Create an unrestricted breakpoint:
    dbstop in file at location
    % Create a conditional breakpoint:
    dbstop in file at location if expression
    
    % Examples and special cases: 
    dbstop in fit at 99 % Standard unrestricted breakpoint.
    
    dbstop in fit at 99 if nargin==3 % Standard conditional breakpoint.
    
    dbstop if error % This special type of breakpoint is not limited to a specific file, and
                    % will trigger *whenever* an error is encountered in "debuggable" code.
    
    dbstop in file % This will create an unrestricted breakpoint on the first executable line
                   % of "file".
    
    dbstop if naninf % This special breakpoint will trigger whenever a computation result 
                     % contains either a NaN (indicates a division by 0) or an Inf
    
  • Utilisation des raccourcis clavier: la clé par défaut pour créer un point d'arrêt standard sous Windows est F12 ; la clé par défaut pour les points d'arrêt conditionnels n'est pas définie .

Désactivation et réactivation des points d'arrêt

Désactiver un point d'arrêt pour l'ignorer temporairement: les points d'arrêt désactivés ne suspendent pas l'exécution. La désactivation d'un point d'arrêt peut se faire de plusieurs manières:

  • Faites un clic droit sur le cercle rouge / jaune du point d'arrêt> Désactiver le point d'arrêt.
  • Clic gauche sur un point d'arrêt conditionnel (jaune).
  • Dans l'onglet Editeur> Points d'arrêt> Activer \ Désactiver.

Suppression des points d'arrêt

Tous les points d'arrêt restent dans un fichier jusqu'à leur suppression, manuellement ou automatiquement. Les points d'arrêt sont effacés automatiquement à la fin de la session MATLAB (c'est-à-dire la fin du programme). La suppression manuelle des points d'arrêt se fait de l'une des manières suivantes:

  • En utilisant la commande dbclear :

    dbclear all
    dbclear in file   
    dbclear in file at location    
    dbclear if condition
    
  • Clic gauche sur une icône de point d'arrêt standard ou une icône de point d'arrêt conditionnel désactivé.

  • Clic droit sur n'importe quel point d'arrêt> Effacer le point d'arrêt.

  • Dans l'onglet Editeur> Points d'arrêt> Effacer tout.

  • Dans les versions antérieures à R2015b de MATLAB, utilisez la commande clear .

Reprise de l'exécution

Lorsque l'exécution est suspendue à un point d'arrêt, il existe deux manières de continuer à exécuter le programme:

  • Exécutez la ligne en cours et faites une nouvelle pause avant la ligne suivante.

    F10 1 dans l'éditeur, dbstep dans la fenêtre de commande, "Step" dans le ruban> Editor> DEBUG.

  • Exécutez jusqu'au prochain point d'arrêt (s'il n'y a plus de points d'arrêt, l'exécution se poursuit jusqu'à la fin du programme).

    F12 1 dans l'éditeur, dbcont dans la fenêtre de commande, "Continuer" dans le ruban> éditeur> DEBUG.


1 - par défaut sous Windows.

Débogage du code Java appelé par MATLAB

Vue d'ensemble

Pour déboguer les classes Java appelées lors de l'exécution de MATLAB, il est nécessaire d'effectuer deux étapes:

  1. Exécutez MATLAB en mode de débogage JVM.
  2. Attachez un débogueur Java au processus MATLAB.

Lorsque MATLAB est démarré en mode de débogage JVM, le message suivant apparaît dans la fenêtre de commande:

JVM is being started with debugging enabled.
Use "jdb -connect com.sun.jdi.SocketAttach:port=4444" to attach debugger.

MATLAB fin

Les fenêtres:

Créez un raccourci vers l'exécutable MATLAB ( matlab.exe ) et ajoutez l'indicateur -jdb à la fin, comme indiqué ci-dessous:

entrer la description de l'image ici

Lors de l'exécution de MATLAB à l'aide de ce raccourci, le débogage JVM sera activé.

java.opts fichier java.opts peut également être créé / mis à jour. Ce fichier est stocké dans "matlab-root \ bin \ arch", où "matlab-root" est le directoy d'installation de MATLAB et "arch" est l'architecture (par exemple "win32").

Les éléments suivants doivent être ajoutés dans le fichier:

-Xdebug
-Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n

Fin du débogueur

IntelliJ IDEA

La connexion de ce débogueur nécessite la création d'une configuration de "débogage distant" avec le port exposé par MATLAB:

Etape 1: Création d'une configuration de débogage

Ensuite, le débogueur est démarré:

Étape 2: démarrage du débogueur

Si tout fonctionne comme prévu, le message suivant apparaîtra dans la console:

Journal de sortie lorsque tout fonctionne



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow