web-dev-qa-db-fra.com

Attacher un débogueur à une application à l'aide d'Eclipse

Pouvez-vous vous attacher à une application en cours d'exécution à l'aide d'Eclipse, de la même manière que vous vous attachez à l'aide de Visual Studio?

46
Luchian Grigore

Oui.

Si vous démarrez votre serveur avec le port de débogage ouvert, en l'ajoutant à votre commande Java:

-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n

Et vous avez le code source dans votre projet (techniquement, ce n'est pas nécessaire, mais c'est un peu inutile à moins que vous ne le fassiez), vous pouvez vous connecter au serveur en cours d'exécution en configurant une "configuration de débogage" avec Host = la machine sur laquelle le serveur est en cours d'exécution et port = 8888 (par exemple - voir les options ci-dessus)

Vous pouvez ensuite définir des points d'arrêt et la session de débogage arrêtera le serveur là-bas et vous pouvez inspecter les variables/champs, et même définir leurs valeurs.


Mise à jour

Les options de ligne de commande les plus modernes pour la JVM sont les suivantes:

 -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
51
Bohemian

Le panneau Configurations de débogage a un élément de menu Remote Java Application:

enter image description here

26
emallove