Avance pas à pas dans un programme

Lorsqu'un programme est interrompu, vous pouvez utiliser les commandes d'avance pas à pas pour exécuter le programme instruction par instruction. Dans les opérations d'avance pas à pas, l'exécution est interrompue au niveau du point d'arrêt ou de l'exception si le programme détecte un point d'arrêt ou une exception.

Vous pouvez utiliser des commandes d'avance pas à pas pour progresser dans votre programme instruction par instruction.

Si vous lancez une commande d'avance pas à pas alors que vous déboguez une application multitâche, l'exécution peut s'interrompre dans une autre unité d'exécution.

Exécution d'une ligne

Cette commande permet d'exécuter une instruction. L'instruction en cours s'exécute sans s'arrêter sur les éventuels programmes ou procédures appelés dans l'instruction (sauf si elle détecte un point d'arrêt) et l'exécution s'arrête sur la prochaine instruction exécutable. Pour exécuter la commande, procédez comme suit :
  1. Vous pouvez sélectionner une entrée de pile d'appels dans la vue Débogage. Dans la perspective Débogage, l'éditeur met en surbrillance la ligne d'exécution active dans l'entrée de la pile d'appels.
  2. Effectuez l'une des opérations suivantes :
    • Cliquez sur le bouton Exécution d'une ligne (Icône Exécution d'une ligne) dans la barre d'outils de la vue Débogage.
    • Dans la barre de menus, sélectionnez Exécution > Exécution d'une ligne.
    • Appuyez sur F6.

Avance d'un pas avec entrée

Cette commande permet d'avancer pas à pas dans du code contenant des informations de débogage et d'avancer d'un pas sans entrée dans le code ne contenant pas d'informations de débogage. Cet arrêt peut se produire dans un programme/procédure en cours, dans un programme/procédure appelé(e) ou encore dans un programme/procédure appelé(e) au sein d'un programme/procédure appelé(e).

Pour exécuter la commande, procédez comme suit :

  1. Vous pouvez sélectionner une entrée de pile d'appels dans la vue Débogage. Dans la perspective Débogage, l'éditeur du débogueur met en surbrillance la ligne d'exécution active dans l'entrée de la pile d'appels.
  2. Effectuez l'une des opérations suivantes :
    1. Cliquez sur le bouton Avance d'un pas avec entrée (Icône Avance d'un pas avec entrée) dans la barre d'outils de la vue Débogage.
    2. Appuyez sur F5.
  3. L'instruction en cours s'exécute et s'interrompt à la prochaine ligne disposant des données de débogage.

Avance avec retour

Cette commande permet d'exécuter toutes les unités d'exécution. Pour exécuter la commande, procédez comme suit :

  1. Sélectionnez une entrée de pile d'appels dans la vue Débogage. L'éditeur met en surbrillance la ligne d'exécution active dans le cadre sélectionné.
  2. Effectuez l'une des opérations suivantes :
    1. Cliquez sur le bouton Avance avec retour (Icône Avance avec retour) dans la barre d'outils de la vue Débogage.
    2. Dans la barre de menus, sélectionnez Exécution > Avance avec retour.
    3. Appuyez sur F7.
  3. Le point d'exécution actif est exécuté jusqu'à la ligne située immédiatement après la ligne qui a appelé la fonction ou le programme. L'exécution s'arrête après la fermeture de la fonction ou du programme. Si vous exécutez la commande dans un point d'entrée principal (c'est-à-dire dans main()), le programme s'exécute jusqu'à la fin.
    Restriction :
    • L'avance avec retour n'est pas prise en charge dans les versions antérieures à V5R3.
    • L'avance avec retour n'est pas prise en charge pour les programmes OPM (non ILE). Si vous tentez d'exécuter une avance avec retour dans un programme non ILE, le débogueur reste à sa position et un message indique que l'avance avec retour n'a pas pu être exécutée.
Remarque : Java Lors du débogage d'un programme Java, l'avance pas à pas peut être irrégulière lors de la progression dans des constructeurs ou lors de l'entrée ou de la sortie de fonctions de bibliothèque SystemLoad.