61 votes

Le débogage à distance Java, comment ça marche techniquement?

J'aime vraiment le débogage à distance des installations de la JVM. Mais je me demande comment il fonctionne en interne.

Mon hypothèse: Il est fait par un JVM fonction où le processus en cours d'exécution est en cours de téléchargement/utilisant le code-source de la télécommande-débogueur (comme IDE) Il sait que la ligne de la pile en cours à la trace et puis peut-saut à l'IDE de point d'arrêt. La communication de la pile de la trace et de l'introspection de l'état de l'application est ensuite effectuée via les sockets ou à mémoire partagée (réglage de débogueur distant).

Personne n'a des liens intéressants/ressources sur qui?

45voto

Vineet Reynolds Points 40529

Les fonctionnalités de débogage de la JVM sont fournis par la Plate-forme Java Débogueur Architecture (JPDA).

Le JPDA lui-même est composé des personnes suivantes:

  • La Machine Virtuelle Java de l'Interface de l'Outil de JVM (TI) - la native interface de programmation pour les outils à utiliser. Cette interface permet l'inspection de l'état et aide à contrôler le flux d'exécution dans le programme débogué.
  • Java Debug Wire Protocol (JDWP) - permet de définir la communication entre le débogueur et le programme débogué processus.
  • Java Debug Interface (JDI) - cette interface permet à des développeurs d'outils pour écrire débogueur à distance des applications.

Le schéma figurant dans le JPDA structure de l'architecture est un bon point de départ. D'autres lieux de chercher seraient les guides répertoriés dans le JPDA page.

10voto

Daniel Trebbien Points 18089

L'architecture de débogage de Java s'appelle JPDA. Vous voudrez probablement lire la documentation JPDA. En particulier, la section Visite virtuelle donne un exemple d'interface IDE avec l'interface JDI pour obtenir une valeur sur la pile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X