6 votes

Comment le débogueur Eclipse obtient-il les informations sur les variables privées à l'intérieur de la classe ?

C'est une question qui m'a été posée lors d'un entretien. J'ai vaguement répondu qu'elle utilisait des réflexions Java mais je n'étais pas sûr. Comment cela fonctionne-t-il ?

9voto

Donal Fellows Points 56559

La clé de votre question est certainement java.lang.reflect.AccessibleObject qui permet au débogueur de désactiver les contrôles d'accès et de s'y aventurer. Spring utilise le même mécanisme pour obtenir l'accès aux variables pour l'injection de dépendances.

7voto

dube Points 1383

Il utilise le Débogueur Java qui fournit des commandes pour faire exactement cela :

jdb print myObj.myInstanceField

Dans le temps, il y avait vraiment des gens qui faisaient ça en ligne de commande ! :)

NOTE : Pour afficher les variables locales, la classe qui les contient doit avoir été compilée avec l'option javac -g.

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