c'était une question d'entrevue qui me posait ... J'ai vaguement répondu qu'il utilise des réflexions Java .. mais je n'étais pas sûr. Comment ça marche?Comment le débogueur Eclipse obtient-il les informations sur les variables privées à l'intérieur de la classe?
5
A
Répondre
9
La clé de votre question est presque certainement java.lang.reflect.AccessibleObject
, ce qui permet au débogueur de désactiver les contrôles de contrôle d'accès et fouillez. Spring utilise le même mécanisme pour accéder aux variables d'injection de dépendance.
7
Il utilise la Java Debugger qui fournit des commandes pour le faire que:
jdb print myObj.myInstanceField
Retour dans les vieux jours, il y a vraiment des gens qui font cela sur une ligne de commande! :)
REMARQUE: Pour afficher les variables locales, la classe conteneur doit avoir été compilée avec l'option javac -g.
Questions connexes
- 1. Comment fonctionne Eclipse/IDEA/etc. débogueur obtenir les informations sur les valeurs variables locales et regarder les valeurs d'expression?
- 2. Les variables privées de niveau classe sont-elles héritées?
- 3. Comment éviter les variables de débogueur uniquement?
- 4. Plugin Eclipse pour lire les informations sur les points d'arrêt
- 5. Variables privées dans les prototypes hérités
- 6. Eclipse: comment afficher les informations sur une fonction PHP?
- 7. Différence entre les variables publiques et privées
- 8. Récupère les informations sur les fichiers en variables?
- 9. cacher des variables inexistantes dans le débogueur java Eclipse
- 10. Informations sur les URL ouvertes et les numéros appelés sur iOS via des API privées?
- 11. variables d'instance privées -. IPhone SDK
- 12. Que signifient les icônes dans Eclipse? Que signifient les icônes dans le débogueur Eclipse?
- 13. Le Débogueur Flex Builder n'affiche pas les variables locales
- 14. Variables privées vs publiques
- 15. Configurer les sources java pour le débogueur Eclipse
- 16. Comment voir les variables statiques ou globales dans Eclipse CDT?
- 17. Comment cacher les informations liées à CVS sur les fichiers Source dans Eclipse?
- 18. classe en C# qui donne les informations sur la machine
- 19. les variables Commentaire de modèle dans Eclipse
- 20. Développement piloté par les tests: Rédaction de tests pour les variables privées/protégées
- 21. Envoyer permet d'accéder à des variables privées
- 22. Comment modifier ce que le débogueur Eclipse affiche pour un objet dans le volet Variables?
- 23. Comment utiliser les variables pour la définition de chemin de classe dans les configurations de lancement Eclipse?
- 24. Débogueur Java Eclipse obtenant les résultats des appels de méthode
- 25. Comment déboguer une erreur de connexion entre le débogueur Jboss et le débogueur Eclipse
- 26. Comment le débogueur 'Detail Formatters' résout-il les classes dans eclipse?
- 27. AS3: les variables privées doivent-elles avoir un _
- 28. Variables de membre statique du débogueur Xcode
- 29. Vous pouvez accéder à des variables privées dans une classe à partir de main dans Java?
- 30. Accès à des variables privées quand il y a un getter/setter pour les
... et comment met-il en pause l'exécution en mode debug par exemple? Je ne connais pas la réponse, (donc je poste comme commentaire), mais je suppose qu'il a sa propre VM? Ce sera intéressant de voir les réponses. – aioobe
@aioobe la même réponse que la question principale: il utilise le débogueur java qui fait partie du framework java :) – dube
ouais :) Je l'ai compris :) – aioobe