Débogage des applications Java
Pour déboguer des programmes Java™ , vous pouvez utiliser l'application Java Debugger (JDB) ou d'autres débogueurs qui communiquent à l'aide de l'architecture JPDA (Java Platform Debugger Architecture) fournie par le SDK pour le système d'exploitation.
Pour plus d'informations sur le diagnostic des problèmes à l'aide de Java, voir Traitement des incidents et support.
Remarque: Sur les systèmes AIX® , le SDK inclut un plug-in pour le débogueur AIX , DBX. Bien que le plug-in DBX soit fourni comme partie du SDK, il ne bénéficie pas d'un support officiel. Toutefois, IBM® accepte les rapports de bogue.
Le débogueur Java
La base de données JDB est incluse dans le SDK. Utilisez la commande jdb pour démarrer le débogueur ; il se connecte à la JVM en utilisant JPDA.
- Pour déboguer une application Java:
- Démarrez la machine virtuelle Java avec les options suivantes :
- Sur les systèmes Windows :
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
- Sous les autres systèmes :
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
La machine virtuelle Java démarre, mais interrompt l'exécution avant de démarrer l'application Java.
- Sur les systèmes Windows :
- Dans une session distincte, vous pouvez attacher le débogueur à la JVM avec la commande suivante :
Le débogueur se connecte à la machine virtuelle Java et vous pouvez désormais exécuter une série de commandes pour examiner et contrôler l'application Java ; par exemple, entrez run pour permettre à l'application Java de démarrer.jdb -attach <port>
- Démarrez la machine virtuelle Java avec les options suivantes :
- Pour déboguer des applications Java s'exécutant sur des postes de travail distants:
- JPDA utilise une socket TCP/IP pour la connexion à la machine virtuelle distante.
- Démarrez la machine virtuelle Java avec les options suivantes :
- Sur les systèmes Windows :
java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
- Sous les autres systèmes :
java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>
La machine virtuelle Java démarre, mais interrompt l'exécution avant de démarrer l'application Java.
- Sur les systèmes Windows :
- Raccordez le débogueur à la JVM distante :
- Sur les systèmes Windows :
jdb -connect com.sun.jdi.SocketAttach:hostname=<host>,port=<port>
- Sous les autres systèmes :
jdb -attach <host>:<port>
- Sur les systèmes Windows :
- Démarrez la machine virtuelle Java avec les options suivantes :
- Pour plus d'informations :
- Pour plus d'informations sur les options JDB, entrez :
jdb -help
- Pour plus d'informations sur les commandes JDB :
- Type
jdb
- A l'invite jdb, entrez
help
- Type
- Pour plus d'informations sur JDB et JPDA et leur utilisation, consultez :
- Pour plus d'informations sur les options JDB, entrez :