Réserver une Démo
Pré. Proc.

Débogueur Java JDWP

Java propose deux technologies de débogage principales : un système basé sur un agent en cours de processus appelé Java Virtual Machine Tools Interface (JVMTI) et un paradigme basé sur un socket appelé Java Déboguer Wire Protocol (JDWP). Une Virtual Machine Java peut nommer l'un ou l'autre de ces éléments, mais pas les deux, et la fonctionnalité doit être configurée au démarrage de la JVM.

Exigences du système

  1. Le débogueur JDWP Enterprise Architect 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"
  2. La Virtual Machine ne doit pas être actuellement attachée à un débogueur.
  3. Il n'est pas possible qu'une machine virtuelle soit déboguée par Enterprise Architect et Eclipse en même temps.

Paramètres du script d'analyse

Champ/Bouton

Action

Voir aussi

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 lorsque le script est exécuté.

Répertoire par défaut

Sans objet – laisser vide.

Parcours d'application

Sans objet – laisser vide.

Arguments de la ligne de commande

Sans objet – laisser vide.

Construire d'abord

Sans objet – laisser vide.

Afficher la console

Sans objet – laisser vide.

Afficher les messages de diagnostic

Sans objet – laisser vide.

Connexion

Sans objet – laisser vide.

Port

Définissez le 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ôte

Définir l'ordinateur hôte (par défaut, localhost)

Si la machine virtuelle s'exécute sur un ordinateur en réseau, entrez le nom du réseau ou l'URL ici.

Par défaut, le débogage tentera de se connecter au port que vous spécifiez sur la machine locale.

Source

Il s'agit de l'équivalent source du paramètre classpath en Java.

Répertoriez la racine de chaque arborescence source ; spécifiez au moins un chemin d'accès à la racine source. Si vous en spécifiez plusieurs, séparez-les par un point-virgule ; par exemple :

c:\monapplication\src ; c:\monserveur\src

Lorsqu'un point d'arrêt se produit, le débogueur recherche la source Java dans chacune des arborescences sources répertoriées ici.

Enregistrement

Activer ou désactiver la journalisation d'informations supplémentaires du débogueur.

Les valeurs possibles incluent :

  • vrai
  • FAUX
  • 1
  • 0
  • Oui
  • Non

Sortir

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 machine virtuelle.

Plate-forme

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 machine virtuelle avec le transport JDWP activé. Consultez la documentation sur Java Platform Débogueur Architecture (JPDA) chez Oracle pour connaître 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%" exemples.MyApp "param1" "param2"

Dans cet exemple, les valeurs du script Analyzer seraient « hôte : localhost » et « port : 9000 ».

Débogage à distance

Lorsque 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 machine virtuelle avec le transport JDWP activé. Consultez la documentation sur JPDA chez Oracle pour connaître 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%" exemples.MyApp "param1" "param2"

Note l'absence de nom d'hôte dans l'adresse. Cela signifie que la machine virtuelle écoutera une connexion provenant de n'importe quelle machine. Dans cet exemple, les valeurs du script Analyzer seraient « host: testmachine1 » et « port: 9000 ».