Traitement pas à pas d'un programme (stepping)
Vous pouvez exécuter une application étape par étape tout en naviguant dans le code. Ceci est utile pour déterminer l'état de votre code au moment de l'exécution. Vous pouvez examiner le flux d'appels, suivre les valeurs des variables ou identifier les erreurs.
C'est ce que vous avez dans le menu ARRÊT SUR TA (Mode débogage). Pendant le débogage, la position d'arrêt actuelle est surlignée en jaune et dans les éditeurs de texte avec le symbole marqué.
Chargez votre application sur un contrôleur.
L'application est marquée en vert. CODESYS et les éditeurs des blocs de programmation sont en mode connecté.
Définissez des points d'arrêt dans les blocs de programmation aux endroits du code que vous souhaitez examiner.
Dans la vue points d'arrêt sont tous répertoriés.
Démarrez l'application.
L'application démarre, le code est traité jusqu'au premier point d'arrêt.
L'application est maintenant en mode débogage. L'application est dans l'arborescence des appareils [arrêt au point d'arrêt] marqué. La ligne d'état fournit des informations sur l'état de fonctionnement :
L'éditeur avec la position d'arrêt actuelle a été ouvert. La ligne de code avec un point d'arrêt actif, où l'exécution du programme a été interrompue, a un fond jaune et est marquée par l'icône
marqué. Cette instruction marquée en jaune n'a pas encore été exécutée.
Vous pouvez maintenant sélectionner les différentes commandes d'étape ou afficher l'arborescence des appels.
Astuce
Alternativement, vous pouvez d'abord démarrer l'application, puis définir un point d'arrêt.
Comportement des commandes d'étape du menu Débogage
commander
("Enjamber")
L'instruction à la position d'attente est exécutée. Il y a un arrêt avant l'instruction suivante dans le bloc de programmation.
S'il y a un appel dans l'instruction (depuis un programme, une instance de bloc fonction, une fonction, une méthode ou une action), le bloc de programmation subordonné est entièrement parcouru en une seule étape.
commander
("Entrer dans")
L'instruction à la position d'attente est exécutée. Il s'arrête avant la prochaine instruction.
S'il y a un appel dans l'instruction (depuis un programme, une instance de bloc fonction, une fonction, une méthode ou une action), un saut est fait vers ce bloc de programmation subordonné. La première instruction y est exécutée et avant l'instruction suivante, elle est arrêtée. La nouvelle position d'arrêt courante se trouve alors dans le bloc de programmation appelé.
commander
("Sors")
La commande exécute le bloc de programmation depuis la position d'arrêt actuelle jusqu'à la fin du bloc, puis revient au bloc de programmation appelant. Il s'arrête au point de l'appel (dans la ligne avec l'appel).
Si la position d'arrêt actuelle se trouve dans le programme principal, le bloc de programmation est exécuté jusqu'à la fin. Ensuite, il revient au début (au début du programme à la première ligne de code dans le bloc de programmation) et s'arrête là.
commander
("Exécuter jusqu'au curseur")
Placez d'abord le curseur sur n'importe quelle ligne de code, puis sélectionnez la commande. Le programme s'exécute à partir du point d'arrêt actuel et s'arrête à la position actuelle du curseur sans exécuter le code sur cette ligne.
commander
("Définir l'instruction suivante")
Placez d'abord le curseur sur n'importe quelle ligne de code (même avant la position d'arrêt actuelle), puis sélectionnez la commande. L'instruction marquée du curseur est ensuite exécutée. Toutes les instructions intermédiaires sont ignorées et sautées.
commander
("Afficher la déclaration suivante")
Si vous ne voyez pas la position de maintien actuelle, sélectionnez la commande. Ensuite, la fenêtre avec la position d'arrêt actuelle devient active et la position d'arrêt devient visible.
Choisissez la commande
, pour afficher complètement l'arbre d'appel précédent pour la position d'arrêt actuellement atteinte dans le traitement du programme.Astuce
La vue pile d'appels montre à tout moment, c'est-à-dire avant que l'application ne soit compilée (compilée), où se trouve le bloc dans la structure d'appel du programme.