Pré. | Proc. |
Débogueur Java Débogueur
Java fournit deux technologies de débogage principales : un système basé sur un agent in-process appelé Java Virtual Machine Tools Interface (JVMTI) et un paradigme basé sur un socket appelé Java Déboguer Wire Protocol (JDWP). Une machine Virtual Machine Java peut nommer l'un ou l'autre, mais pas les deux, et la fonctionnalité doit être configurée au démarrage de la JVM.
Exigences du système
- Le débogueur Enterprise Architect JDWP ne pourra communiquer qu'avec une JVM démarrée avec l'option 'JDWP'. Voici un exemple d'option de ligne de commande :
java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\java\myapp;%classpath%" demo.myApp "param1" "param2" - La Virtual Machine ne doit pas être actuellement attachée à un débogueur.
- Il n'est pas possible qu'une machine virtuelle soit déboguée par Enterprise Architect et Eclipse en même temps.
Paramètres de script de l'analyseur
Champ/Bouton |
Action |
Voir également |
---|---|---|
Débogueur |
Cliquez sur la flèche déroulante et sélectionnez Java (JDWP). |
|
Exécuter |
Cliquez sur ce bouton radio pour exécuter le débogueur lors de l'exécution du script. |
|
Répertoire par défaut |
Sans objet - laissez vide. |
|
Chemin de candidature |
Sans objet - laissez vide. |
|
Arguments de la ligne de commande |
Sans objet - laissez vide. |
|
Construire d'abord |
Sans objet - laissez vide. |
|
Afficher la console |
Sans objet - laissez vide. |
|
Afficher les messages de diagnostic |
Sans objet - laissez vide. |
|
Lien |
Sans objet - laissez vide. |
|
Port |
Définissez le transfert de port d'application attribué au processus VM lors du démarrage, dans les options de ligne de commande Java. |
Options de ligne de commande Java |
Héberger |
Définir l'ordinateur hôte (localhost par défaut) Si la VM s'exécute sur un ordinateur en réseau, saisissez ici le nom ou l'URL du réseau. Par défaut, le débogage tentera de se connecter au port que vous spécifiez sur la machine locale. |
|
La source |
C'est l'équivalent source du paramètre classpath en Java. Lister la racine de chaque arborescence source ; spécifiez au moins un chemin source racine. Si vous en spécifiez plusieurs, séparez-les par un point-virgule ; par exemple: c:\monapp\src ; c:\monserveur\src Lorsqu'un point d'arrêt se produit, le débogueur recherche la source Java dans chacune des arborescences de sources répertoriées ici. |
|
Enregistrement |
Activez ou désactivez la journalisation d'informations supplémentaires à partir du débogueur. Les valeurs possibles incluent :
|
|
Production |
Spécifiez le nom complet du fichier log local à écrire. Si le dossier n'existe pas déjà, aucun log ne sera créé. Le fichier log contient généralement un vidage des octets envoyés entre le débogueur et la VM. |
|
Plateforme |
Sélectionnez Java. |
Configurer les ports pour le débogage
Le débogueur ne peut déboguer qu'une seule machine virtuelle à la fois ; il utilise un seul port pour communiquer avec la machine virtuelle. Le port de l'application à déboguer est attribué lors de la création de la machine virtuelle.
Débogage local
Lorsque Enterprise Architect et la machine virtuelle Java s'exécutent sur la même machine, vous pouvez effectuer un débogage local. Il est nécessaire de lancer la VM avec le transport JDWP activé - voir la documentation sur Java Platform Débogueur Architecture (JPDA) chez Oracle pour les spécifications des options de ligne de commande. Par exemple:
java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%" samples.MyApp "param1" "param2"
Dans cet exemple, les valeurs du script Analyzer seraient 'host: localhost' et 'port:9000'.
Débogage à distance
Lorsqu'Enterprise Enterprise Architect s'exécute sur la machine locale et que la machine virtuelle Java s'exécute sur une machine distante, vous pouvez effectuer un débogage à distance. Il est nécessaire de lancer la VM avec le transport JDWP activé - voir la documentation sur JPDA chez Oracle pour les spécifications des options de ligne de commande. Voici un exemple, où l'ordinateur distant porte le nom de réseau testmachine1 :
java -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%" samples.MyApp "param1" "param2"
Note l'absence de nom d'hôte dans l'adresse. Cela signifie que la machine virtuelle écoutera une connexion à partir de n'importe quelle machine. Dans cet exemple, les valeurs du script Analyzer seraient 'host: testmachine1' et 'port: 9000'.