XRAY

 Cliquez ici   pour une Démo de XRAY

XRAY est un outil interactif pour la mise au point des programmes batch au niveau du source. Il aide pour le développement, les tests et la maintenance des applications batch. XRAY est disponible en OS/390, MVS et VSE.

XRAY permet la mise au point on line des programmes batch écrit en COBOL OS/VS, VS COBOL II, COBOL pour OS/390, VM et VSE, F COBOL, Assembleur F, Assembleur H, High level Assembleur et PL1.

La mise au point des programmes est faite à partir d'un terminal CICS, lequel est connecté à votre job Batch.  Votre code objet n'est pas modifié et ne doit pas être recompilé pour XRAY.

La mise au point au niveau du source est possible seulement après que XRAY a traité la liste compilateur/assembleur/linkedit. Cependant la mise au point au niveau objet (si vous avez une liste) peut être faite sur n'importe quel programme.

XRAY est tout aussi efficace pendant le développement des programmes, que pendant la maintenance ultérieure.

XRAY audite les programmes sélectionnés en ajoutant simplement un paramètre dans la carte EXEC.

XRAY procure les avantages suivants :

Les caractéristiques d'XRAY :

XRAY permet :

    Une mise au point plus rapide des programmes

XRAY permet une mise au point plus rapide de la logique et de l’écriture des programmes ainsi que la correction des erreurs de données. L’utilisateur peut arrêter l’exécution d’un programme ou de n’importe quel sous-programme à des étapes définies. Ces arrêts d’exécution interviennent seulement quand certaines conditions sont remplies. Les données peuvent être désignées au travers des références Cobol. Les boucles peuvent être interceptées en spécifiant des limites aux instructions.

    Des corrections plus rapides

Pour suivre la logique des programmes, XRAY permet une progression simple grâce à l’introduction d’instructions machine ou d’instructions programme. Il met en évidence les erreurs sur l’écran. Les sources COBOL, Assembleur et PL1 peuvent être affichés. Les corrections sont faites on line et l’exécution du programme peut redémarrer. Après un arrêt du programme, l’exécution se poursuit et peut emprunter un chemin destiné à tester des logiques de traitement dont on sait qu’elles seront exceptionnellement utilisées.

    Une mise au point plus efficace

Plusieurs erreurs peuvent être examinées et corrigées en une seule exécution du programme. Ceci signifie donc moins d’attente avant de soumettre des compilations supplémentaires, réaliser davantage de tests et éviter de se pencher sur trop de dumps.

    De réduire l’analyse des dumps

Il n’est plus nécessaire de s’attarder sur les dumps mémoire. XRAY affiche à l’écran exactement ce dont vous avez besoin. Il allège considérablement le travail fastidieux des tests et de la mise au point des programmes.

    D'intercepter les ABEND des Programmes

Quand un programme tombe en ABEND, XRAY affiche le code source associé, la raison de l’ABEND et d’autres informations liées à celui-ci. Pour la détermination des problèmes, toutes les fonctions de mise au point XRAY sont disponibles à cet instant. Une fois l’erreur identifiée, le programmeur peut décider du type d’action à prendre. Par exemple, le programmeur peut vouloir mettre fin au job et générer un dump, ou corriger le problème et poursuivre l’exécution du job, ou ignorer totalement la partie de code en erreur.

    De protéger la mémoire

XRAY ne permet pas aux programmes « testés » de modifier des zones mémoire qui sont en dehors de son contrôle directe (à moins que l’utilisateur ne le force expressément).

   La détection des Boucles

XRAY arrête automatiquement un job quand la limite du nombre d’instructions préalablement définie a été atteinte. Ceci permet d’éviter les boucles programmes potentielles.

Les bénéfices que vous en retirerez :

• Amélioration de la productivité des programmeurs

• Réduction du temps de développement

• Réduction du temps à consacrer à l’analyse fastidieuse des dumps

• Possibilité de tester les logiques de traitement rarement exécutés et de corriger les erreurs « mystérieuses » des programmes.

• Fiabilisation des programmes, car mieux testés.

Facile à utiliser

XRAY est un debugger batch facile à utiliser. C’est un produit dans lequel on évolue grâce à des menus, des touches fonction et des écrans d’aide. Toutes les fonctions sont accessibles à partir de menus clairs en utilisant des commandes ou des raccourcis. Les écrans interactifs sont faciles à comprendre, ils proposent en surbrillance les cas d’erreur.

XRAY est utilisé par les développeurs pour détecter dans les programmes les erreurs de logique, les erreurs de code et les erreurs de données.

XRAY est une aide remarquable pour les programmeurs débutants. Ils peuvent facilement suivre la logique du programme et éviter les problèmes récurrents rencontrés par les nouveaux programmeurs.

Menus et raccourcis

Des menus donnent accès aux principales fonctions de XRAY. Ils fournissent des indications sur les fonctions disponibles et permettent une utilisation facile de celles-ci.

COMMAND est le champ de saisie de la commande dans lequel on peut saisir n’importe quelle commande valide XRAY. Vous pouvez également utiliser un raccourci et ainsi vous retrouver directement vers un menu particulier ou un écran fonction.

Sur les menus, vous pouvez sélectionner une option en saisissant son identifiant dans le champ commande. Une autre modalité consiste à positionner le curseur sur la ligne requise et appuyez sur la touche PF Zoom. Les valeurs affichées entre parenthèses à droite de chaque option,représentent les identifiants des raccourcis associés à chaque fonction.

Par exemple pour sélectionner la fonction ‘Display Program Structure’, vous pouvez fournir soit la valeur de l’option ‘=2’ ou si vous connaissez l’écran à atteindre, vous pouvez être plus précis en entrant ‘=2.1’. Ou encore, vous pouvez positionner le curseur n’importe où sur la ligne contenant l’option ‘2’ et appuyer sur la touche PF Zoom.

OFFSET vous permet d’entrer une valeur pour modifier l’effet de certaines commandes. Par exemple si une zone de mémoire doit être affichée, la valeur entrée détermine la position à partir de laquelle l’affichage commencera.

En haut de l’écran se trouvent deux champs qui apparaissent pendant toute l’utilisation du produit : Command et Offset.

Vous pouvez obtenir des informations d’aide en positionnant le curseur sur l’option demandée et en appuyant sur la touche Help.

Points d’arrêt standard

XRAY arrête l’exécution d’un programme aux endroits spécifiés par l’utilisateur. Quand l’arrêt se produit, un écran ‘halte’ est affiché, comprenant le code source correspondant si celui-ci est disponible. Toutes les fonctions XRAY de ‘debugging’ sont disponibles pour l’examen et la modification de la mémoire et du code source du programme.

De cette façon, les erreurs peuvent être trouvées et corrigées, des modifications peuvent être faites pour « forcer » l’exécution de certaines parties de code.

Après chaque arrêt, le programmeur peut soit terminer le job et produire un dump, soit continuer normalement l’exécution, avancer par étape (STEP) dans le programme instruction par instruction, soit reprendre à partir d’un autre point dans le programme.

Contrôle du Debugging et de l’exécution en utilisant la ligne de commandes

Une session de mise au point se fait facilement en utilisant la ligne de commandes. Vous pouvez contrôler ou arrêter l’exécution du programme, définir des conditions spéciales d’arrêt et même modifier le déroulement logique du programme en utilisant la ligne de commandes. Tout ceci peut être fait en visualisant le code source du programme. Les points d’arrêt peuvent être établis de différentes manières : la plus efficace consiste à visualiser le code source du module. Vous pouvez vous déplacer dans le source du programme en faisant de la pagination avant et arrière, trouver (FIND) une chaîne de caractères ou aller directement vers un numéro d’instruction.

En utilisant les écrans menu de XRAY, le source de votre programme est affiché à votre demande. Il est également affiché sur un écran STOP pendant la session de mise au point. Une fois que l’instruction localisée, déplacez tout simplement le curseur n’importe où dans le numéro d’instruction, tapez un ‘H’, appuyez sur Entrée et le point d’arrêt est alors établi. Quand cette instruction est rencontrée, XRAY stoppe l’exécution du programme et afficher un écran ‘STOP’.

De la même manière vous pouvez désactiver un arrêt. Pour ce faire il faut taper un R (RESET) dans le numéro d’instruction et appuyer sur Entrée.

Notez qu’à n’importe quel point d’arrêt, toutes les fonctions de XRAY sont disponibles. Après chaque arrêt, le programmeur peut terminer le programme, produire un dump, continuer normalement l’exécution, avancer pas à pas (STEP) instruction par instruction ou continuer l’exécution à partir d’un autre point dans le programme.

En plus des touches fonction PF, le programmeur a plusieurs champs disponibles pour contrôler le test.

Par exemple Chaque fois que le programme exécute l’instruction numéro 2483 (Halt Offset => S1748), le contenu de H1-PAGE-CTR est comparé à la valeur ‘2’. Si H1-PAGE-CTR est plus grand que 2, il y aura une halte.

Afficher et Modifier la zone mémoire dans votre programme en entrant simplement le nom du champ

La colonne la plus à gauche affiche l’adresse relative du champ affiché.

La colonne la plus à droite donne l’adresse de la mémoire virtuelle.

La donnée du milieu représente en hexadécimal et en caractères, la valeur du champ demandé.

Si le champ de commande contient PRINT-REC, alors l’affichage montre l’adresse et la valeur en mémoire de PRINTREC.

Ces valeurs peuvent être modifiées en saisissant une autre valeur sur une de ces deux représentations (hexadécimales ou décimales). Quand l’exécution reprend, le traitement continue avec la nouvelle valeur.

Quand un programme est stoppé avant l’exécution d’une instruction, les valeurs des variables présentes dans l’instruction sont affichées dans une fenêtre.

Points d’arrêt Etendus

Les points d’arrêt (halt) étendus sont similaires aux points d’arrêt standard. Mais en définissant les points d’arrêt étendus, l’utilisateur peut spécifier que l’arrêt sera effectif quand toutes les conditions seront remplies.

Par exemple une halte pourrait être demandée à l’instruction numéro 999 quand la zone WKTERM est égale à T05A. Il est possible de rendre le point d’arrêt encore plus sélectif en spécifiant également :

• Le nombre de fois que cet arrêt sera honoré,

• Combien de passages sur ce point de halte peuvent avoir lieu, quelle que soit la condition   rencontrée avant que l’arrêt ne soit effectif,

• Combien de passages peuvent avoir lieu sur ce point d’arrêt, quelle que soit la condition rencontrée entre les arrêts,

• Pour exprimer une condition tout type d’opérateur peut être utilisé : égal, différent, plus grand que, plus grand ou égal, plus petit, plus petit que ou égal.

Modification du déroulement du Programme

Si le programmeur décide de continuer l’exécution du programme, l’exécution peut reprendre à un autre point que le point du dernier arrêt du programme. Quand un programme se termine, le programmeur peut demander ou pas un dump.

Un ABEND programme stoppe l’exécution du programme et met en évidence la ligne où s’est produit l’ABEND.

Sans XRAY, vous auriez dû imprimer le Dump, trouver l’instruction qui a causé l’ABEND en ajoutant un déplacement en Hexadécimal et en comparant le résultat avec la procédure division, puis calculer l’endroit où se trouve le champ invalide, trouver ce champ dans le dump, puis corriger l’erreur, recompiler le programme et enfin redémarrer le test.

Le fait d’appuyer sur PF2 provoque l’affichage d’un écran d’information relatif au programme testé: cet écran affiche le contenu des registres du programme à ce point d’arrêt particulier. Appuyer de nouveau sur PF2 permet au développeur de revenir à l’origine du point d’arrêt.

XRAY est également arrêté quand la fin du programme est demandée.

Environnements supportés

VSE :                         Toutes les releases
OS/390, MVS z/OS :   Toutes les releases

CICS: 1.7 -TS 1.1 (VSE) ou TS 1.3

 Langages:  COBOL, COBOL II, COBOL LE/370, PL/1, Assembleur.

Prix

XRAY n'est pas un produit onéreux. La plupart des produits de sa catégorie sont 3 à 5 fois plus chers. De plus, la mise à niveau de ces produits est souvent très coûteuse quand vous changez de version de système d'exploitation ou quand vous évoluez vers une CPU plus puissante.

XRAY est facile à installer et à utiliser. Alors, comme de nombreux utilisateurs US et européens, profitez vous aussi des nombreux avantages que procurent XRAY.


Informations complémentaires