Mon débuggueur ne fonctionne pas. Comment puis-je savoir depuis quel traitement mon sous-programme est appelé?

SOLVED

Je n'arrive pas à faire fonctionner mon débuggueur, j'ai tout essayé: https://www.sagecity.com/fr/enterprise-management-sage-x3-france/f/enterprise-management-sage-x3-france-technique/126763/comment-faire-pour-faire-fonctionner-mon-debuggueur

Je souhaite donc savoir s'il existe des astuces pour débugguer sans débuggueur, et notamment savoir comment retrouver un programme appelant depuis le programme appelé. 

Merci

  • +1
    verified answer

    Pour connaître le programme appelant depuis le programme appelé, on peut utiliser la variable système [S]adxpno. 

    Cette variable permet d'accéder à la pile des programmes appelants. 

    • adxpno(0) renvoie le programme actuel, celui qui est en train d'être exécuté
    • adxpno(1) renvoie le programme qui appelle le programme actuel
    • adxpno(2) renvoie le programme qui appelle adxpno(1)
    • etc

  • 0 in reply to Lea Fanchon

    Sans le débuggueur, on peut:

    - Mettre des infbox conditionnées au GUSER courant (if GUSER='qqn' : infbox MAvARIABLE : Endif

    - Utiliser la calculatrice et le bouton Classe des variables qui est accessible via le menu contextuel du champ Calcul de la calculatrice, qui donne:

    1. la mémoire utilisée
    2. les écrans ouverts
    3. les tables ouvertes
    4. les classes de variables ouvertes
    5. l'onglet Sélection Classes qui permet de visualiser ce qu'il y a actuellement dans un buffer de classe.

    - Utiliser la trace moteur mais cela génère des fichiers très gros. 

       Menu Administration > Exploitation > Traces > Trace moteur

        Puis cocher 'Permettre le logging du runtime'. En fonction de l'entier que l'on met dans Indicateurs, la trace contiendra différents types d'informations: 

     

  • 0 in reply to Lea Fanchon

    Merci Léa, bonnes alternatives. J'en profite pour faire un peu de pub sur la trace moteur ;) : https://bdc.sage.fr/kb/60637