Options avancées pour déboguer des beans Java

Dans le cadre d'un développement standard, il est inutile de vous préoccuper de la machine virtuelle utilisée par chaque instance de l'éditeur visuel. Toutefois, les utilisateurs avancés peuvent configurer le plan de travail afin que les messages envoyés aux périphériques System.out et System.err de la machine virtuelle soient consignés dans le fichier .log du répertoire .metadata dans le plan de travail.

La machine virtuelle utilisée pour exécuter les beans Java ne correspond pas à celle dans laquelle s'exécute le plan de travail. Une machine virtuelle distincte est créée pour chaque instance de l'éditeur visuel. Le chemin d'accès aux classes de cette machine virtuelle correspond aux entrées du chemin de compilation Java du projet. Si le chemin de compilation Java est modifié alors que l'éditeur visuel est ouvert, tous les éditeurs ouverts doivent être fermés, puis réouverts pour prendre en compte le chemin de compilation mis à jour.

Lors du démarrage du plan de travail, vous pouvez entrer l'option -DEBUG associée à un nom de fichier texte :

-DEBUG file:/c:/temp/options.txt

Le fichier de débogage contient des entrées qui sont lues par l'éditeur visuel. Si le fichier contient la ligne suivante, les fichiers envoyés au périphérique System.out ou System.err s'affichent sur la console :

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

Outre l'utilisation de la console pour afficher les données de la machine virtuelle utilisée par l'éditeur visuel, vous pouvez la démarrer en mode débogage et effectuer un débogage à distance. Ce scénario n'est pas optimisé et il est susceptible d'être modifié dans les versions ultérieures de l'éditeur visuel. Toutefois, il est documenté pour vous permettre de déboguer les beansat Java lors de la conception. Pour effectuer un débogage à distance, vous devez disposer de deux plans de travail en cours d'exécution : l'un comportant les beans Java à déboguer et l'autre chargé d'effectuer le débogage à distance via une connexion socket. Le second plan de travail doit être en cours d'exécution sur le même système ou sur un autre système. Pour activer le débogage de la machine virtuelle de l'éditeur visuel, le fichier -DEBUG doit contenir la ligne :

org.eclipse.jem.proxy/remote/debug/debugvm=true

Chaque fois que l'éditeur visuel lance une machine virtuelle, il vous demande si vous souhaitez la lancer en mode débogage.

La boîte de dialogue précédente s'affiche lorsque la classe HelloFrame.java du projet Test est ouverte dans l'éditeur visuel. Si vous sélectionnez Yes ou Y et que vous appuyez sur Entrée dans la console, la machine virtuelle est lancée en mode Interruption avec l'option -Xdebug en utilisant un connecteur de socket. Puis son numéro est idiqué.

L'étape suivante consiste à connecter un débogeur éloigné au numéro de port 7078. L'instance du plan de travail qui exécute l'éditeur visuel est interrompue lors de la connexion du débogueur. Vous devez donc utiliser le débogueur d'une autre application. Si l'autre application correspond à une autre instance du plan de travail, vous pouvez commencer le débogage éloigné en utilisant l'option de menu Déboguer > Déboguer et en créant une configuration Application Java distante.

Entrez le numéro de port transmis précédemment à stdout par le composant à déboguer, ici 7078. Si le débogueur se trouve sur une autre machine, utilisez la zone Hôte pour entrer l'adresse IP du système exécutant le plan de travail en cours de débogage. Pour lancer le débogueur éloigné, cliquez sur Déboguer, puis entrez y dans la console stdin du plan de travail en cours de débogage.

Outre le message vous invitant à déboguer la machine virtuelle utilisée par chaque instance de l'éditeur visuel, d'autres messages s'affichent pour vous inviter à déboguer le projet :

Do you want to start the remote vm (Project (Test)-Beaninfo) in debug mode? (Enter Y or N):

Il s'agit de la machine virtuelle utilisée pour l'introspection dans laquelle java.beans.Introspector s'exécute. Vous pouvez la différencier de la machine virtuelle de l'éditeur visuel car elle n'indique pas de nom de fichier source Java. Cette machine virtuelle est lancée la première fois qu'un élément BeanInfo est nécessaire pour un bean Java au sein d'un projet, et elle reste active tant que le projet est ouvert. Lorsque vous déboguez ce projet, vous pouvez accéder au code des classes BeanInfo et l'analyser pendant l'introspection des beans Java. L'introspection est effectuée une fois pour chaque classe de bean Java de chaque projet. Les résultats sont conservés en mémoire pour des raisons de performances. Si vous devez effacer les informations BeanInfo contenues dans la mémoire cache, vous pouvez fermer et ouvrir le projet à partir de son menu en incrustation.

Concepts connexes
Exceptions Java bean.
Tâches connexes
Exécution d'une classe visuelle en tant que bean ou application Java
Configuration d'options pour exécuter un bean ou une application Java
Débogage d'un bean ou d'une application visuelle Java
Test et déploiement d'applets

(C) Copyright IBM Corporation 1999, 2004. Tous droits réservés.