Débogage d'une application Java

La machine virtuelle Java dans CICS prend en charge Java™ Platform Debugger Architecture (JPDA), qui est le mécanisme de débogage standard fourni dans la plate-forme Java 2. Cette architecture fournit un ensemble d'API autorisant la pièce jointe d'un débogueur distant sur une machine virtuelle Java.

Pourquoi et quand exécuter cette tâche

Vous pouvez utiliser n'importe quel outil prenant en charge JDPA pour déboguer une application Java fonctionnant dans CICS. Par exemple, vous pouvez utiliser le débogueur Java (JDB) qui est inclus avec Java SDK sur z/OS. Pour connecter un débogueur distant JPDA, vous devez définir certaines options dans le profil de la machine virtuelle Java.

IBM fournit le contrôle ainsi que les outils de diagnostic pour Java, y compris le centre de santé. Le centre de santé d'IBM est disponible dans la session IBM Support Assistant. Ces outils gratuits sont disponibles sur IBM tel que décrit dans le guide d'initiation http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/getting_started.html.

Procédure

  1. Ajoutez l'option de débogage au profil de la machine virtuelle Java pour démarrer la machine virtuelle Java en mode de débogage :
    -agentlib:jdwp=transport=dt_socket,server=y,address=port
    Sélectionnez un port disponible pour vous connecter au débogueur à distance. Si le profil de la machine virtuelle Java est partagé pour plusieurs serveurs de la machine virtuelle Java, vous pouvez utiliser un autre profil de machine virtuelle Java pour le débogage.
  2. Connectez le débogueur à la machine virtuelle Java. Lorsqu'une erreur se produit durant la connexion, par exemple la valeur de port est incorrecte, les messages sont écrits vers la sortie standard de la machine virtuelle Java et les flux d'erreurs standards.
  3. En utilisant le débogueur, vérifiez l'état initial de la machine virtuelle Java. Par exemple, vérifiez l'identité des unités d'exécution qui sont enclenchées et les classes système qui sont chargées. L'exécution de la machine virtuelle Java interrompt l'exécution ; l'application Java n'a pas démarré.
  4. Définissez un point d'arrêt sur un point approprié dans l'application Java en indiquant le nom complet de la classe Java ainsi que le numéro de ligne du code source. En raison de l'avortement de chargement de la classe d'application, le débogueur indique que l'activation de ce point d'arrêt est reportée jusqu'à ce que la classe soit chargée. Autorisez l'exécution de la machine virtuelle Java via le code du logiciel intermédiaire CICS vers le point d'arrêt de l'application, sur lequel l'exécution est suspendue de nouveau.
  5. Examinez les classes chargées et les variables puis définissez les points d'arrêt supplémentaires pour passer sur le code au besoin.
  6. Mettez fin à la session de débogage. Vous pouvez laisser l'application s'exécuter complètement, au moment de la fermeture de la connexion entre le débogueur et la machine virtuelle Java CICS. Certains débogueurs prennent en charge l'arrêt forcé de la machine virtuelle Java, ce qui aboutit à un arrêt anormal et à des messages d'erreur sur la console du système CICS.