Réserver une Démo
Pré. Proc.

Débogage de l'exécution des Statemachines Exécutables

La création d' Statemachines Exécutables offre des avantages même après la génération du code. Grâce à l' Analyseur d'Exécution , Enterprise Architect est en mesure de se connecter au code généré. Vous pouvez ainsi déboguer visuellement et vérifier le comportement correct du code ; le même code exactement généré à partir de vos Statemachines , démontré par la simulation et finalement incorporé dans un système réel.

Débogage d'une Statemachine

Être capable de déboguer un Statemachine Exécutable offre des avantages supplémentaires, tels que la possibilité de :

  • Interrompre l'exécution de la simulation et de toutes Statemachines en cours d'exécution
  • Vue l'état brut de chaque instance Statemachine impliquée dans la simulation
  • Vue le code source et Pile d'Appel à tout moment
  • Tracez des informations supplémentaires sur l'état d'exécution grâce au placement de points de trace sur les lignes de code source
  • Contrôler l'exécution grâce à l'utilisation de points d'action et de points d'arrêt (arrêt en cas d'erreur, par exemple)
  • Diagnostiquer les changements de comportement, dus à des changements de code ou modélisation
Si vous avez généré, construit et exécuter un Statemachine Exécutable avec succès, vous pouvez le déboguer ! Le script Analyzer créé pendant le processus de génération est déjà configuré pour fournir le débogage. Pour démarrer le débogage, lancez simplement l'exécution de l' Statemachine Exécutable à l'aide du contrôle Simulation . Cependant, selon la nature du comportement à déboguer, nous définirons probablement d'abord des points d'arrêt.

Interrompre l'exécution lors d'une transition d'état

Comme tout débogueur, nous pouvons utiliser des points d'arrêt pour examiner la Statemachine en cours d'exécution à un point du code. Localisez une classe d'intérêt dans la fenêtre diagramme ou Navigateur et appuyez sur F12 pour afficher le code source. Il est facile de localiser le code des transitions State à partir des conventions de nommage utilisées pendant la génération. Si vous souhaitez effectuer une pause à une transition particulière, localisez la fonction de transition dans l'éditeur et placez un marqueur de point d'arrêt en cliquant dans la marge gauche sur une ligne de la fonction. Lorsque vous exécuter l' Statemachine Exécutable , le débogueur s'arrêtera à cette transition et vous pourrez afficher l'état brut des variables pour toutes Statemachines impliquées.

Interrompre l'exécution conditionnellement

Chaque point d'arrêt peut prendre une condition et une instruction trace. Lorsque le point d'arrêt est rencontré et que la condition est évaluée à True, l'exécution s'arrête. Sinon, l'exécution continue normalement. Vous composez la condition en utilisant les noms des variables brutes et en les comparant à l'aide des opérandes d'égalité standard : < > = >= <=. Par exemple :

(this.m_nCount > 100) et (this.m_ntype == 1)

Pour ajouter une condition à un point d'arrêt que vous avez défini, cliquez-droit sur le point d'arrêt et sélectionnez ' Propriétés '. En cliquant sur le point d'arrêt tout en appuyant sur la touche Ctrl, les propriétés peuvent être rapidement éditées.

Information auxiliaire Traçage

Il est possible de tracer des informations à partir de la Statemachine elle-même en utilisant la clause TRACE dans, par exemple, un effet . Le débogage fournit également fonctionnalités de trace appelées Tracepoints. Il s'agit simplement de points d'arrêt qui, au lieu de s'arrêter, impriment des instructions de trace lorsqu'ils sont rencontrés. La sortie est affichée dans la fenêtre Contrôle Simulation . Ils peuvent être utilisés comme une aide au diagnostic pour afficher et prouver la séquence d'événements et l'ordre dans lequel les instances changent d'état.

Visite de la Pile d'Appel

Chaque fois qu'un point d'arrêt est rencontré, la Pile d'Appel est disponible dans le menu Analyseur. Utilisez-la pour déterminer la séquence dans laquelle l'exécution a lieu.