Débogueur distant Java Eclipse extrêmement lent sur VPN


Je suis parfois obligé de travailler loin de mon bureau, ce qui signifie que je dois VPN dans mon laboratoire. J'ai remarqué que le débogage à distance avec Eclipse dans cette situation est terriblement lent. Lent au point où il faut 5-7 minutes pour que le débogueur se connecte à la jvm distante. Après la connexion, passer à travers les points d'arrêt/lignes peut prendre 20-30 secondes à chaque fois, et cela laisse systématiquement tomber la connexion, ce qui me oblige à recommencer.

Quelqu'un peut-il expliquer pourquoi c'est, même si il n'y a pas de solution disponible? Ma latence via le VPN n'est pas à peu près ce à quoi on s'attend compte tenu du comportement du débogueur distant. Je fais toutes sortes d'autres choses sur le VPN avec un décalage/obstruction minimal.

J'ai vraiment du mal à comprendre pourquoi le débogueur distant est si affecté par le VPN, alors que pratiquement toutes les autres opérations réseau vont bien.

Merci,

Author: user3062946, 2015-02-10

4 answers

Merci d'avoir essayé d'aider, les gars. Heureusement, un de mes collègues, en proie aux mêmes problèmes, a fait une plongée profonde dans ce. Extrait de la correspondance de mon collègue:

"J'ai mis en place un proxy assis entre mon Eclipse et ma machine virtuelle qui a imprimé des codes de commande à partir de paquets JDWP que mon Eclipse envoyait à ma machine virtuelle. http://docs.oracle.com/javase/8/docs/platform/jpda/jdwp/jdwp-protocol.html page m'a expliqué ce que ces commandes signifiaient. Ce que j'ai vu, c'était: chaque fois que je parcourais le code Eclipse envoyait des dizaines et des dizaines de commandes liées au "thread monitor" à la machine virtuelle. Ils sont liés aux fonctionnalités de VM suivantes: canGetMonitorInfo, canGetCurrentContendedMonitor, canGetOwnedMonitorInfo, canGetMonitorFrameInfo"

Ces capacités provoquent une quantité folle de décalage. Il a concocté une solution qui désactive de force ces capacités, et la facilité d'utilisation du débogueur a explosé. Évidemment, la fonctionnalité de surveillance des threads du débogueur distant non fonctionne plus longtemps, mais étant donné à quel point le débogage à distance était inutilisable auparavant, c'est un excellent compromis.

Je vais essayer de savoir exactement ce qu'il a fait pour désactiver les capacités de thread-monitor.

 8
Author: user3062946, 2015-03-18 16:54:59

La désactivation de Show monitor m'a en effet aidé.
Le Bottom facing triangle est difficile à repérer dans la perspective de débogage. Si Il suffit de poster l'image qui manque dans le lien.

entrez la description de l'image ici

 2
Author: peeyush, 2018-01-10 10:11:32

À partir de tests très légers d'un assez grand projet (près de 100 sous-projets, ping times ~200-300ms), Netbeans semble bien faire par rapport à Eclipse.

Vous pouvez faire un pas et il faut quelques secondes pour mettre à jour et attacher en

C'est bien sûr ennuyeux de ne pas pouvoir utiliser Eclipse, mais c'est une interface graphique et en tant que telle bien meilleure que JDB ordinaire.

 0
Author: Anjo, 2016-02-15 15:12:35

Avez-vous essayé? http://www.gontu.org/how-you-can-debug-a-remote-java-application/

Il semble que vous deviez configurer ceci afin de déboguer votre application via VPN. Ceci, soit dit en passant, a également été répondu dans ce DONC en postant.

J'espère que cela aide votre cas. Bonne chance!

 -1
Author: hfontanez, 2017-05-23 12:18:20