JDB - Session

Ce chapitre décrit comment démarrer une session JDB de différentes manières. Le lancement JDB est la technique fréquemment utilisée pour démarrer une session JDB.

Il existe deux manières différentes de démarrer une session JDB:

  • Démarrage de la session JDB en y ajoutant la classe (nom de la classe principale).
  • Ajout de JDB à l'exécution de JVM pour démarrer la session.

Démarrer une session en ajoutant une classe

La commande suivante démarre une session JDB:

Syntaxe

\>jdb <classname>

Exemple

Supposons que nous ayons une classe nommée TestClass. La commande suivante démarre une session JDB à partir de TestClass.

\>jdb TestClass

Si vous suivez cette commande, il démarre une nouvelle machine virtuelle Java avec les paramètres spécifiés. Ensuite, il charge la classe et l'arrête avant d'exécuter la première instruction de la classe.

Démarrer une session en ajoutant JDB à une machine virtuelle Java en cours d'exécution

Vous trouverez ci-dessous la syntaxe et l'exemple pour démarrer une session JDB en ajoutant le JDB à une JVM en cours d'exécution.

Syntaxe

La syntaxe suivante est pour la session JDB:

-agentlib:jdwp=transport=dt_shmem,address=
      
       ,server=y,suspend=n 
      

Exemple

Supposons que le nom de la classe principale soit TestClasset JVM permet au JDB de le connecter ultérieurement. Voici la commande pour ajouter JDB à JVM:

\>java
-agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n TestClass

Vous pouvez maintenant attacher le JDB à la JVM avec la commande suivante:

\> jdb -attach jdbconn

Note: Ici le TestClass n'est pas ajouté à la commande JDB, car JDB est connecté à la machine virtuelle en cours d'exécution au lieu d'en lancer une nouvelle.