Existe-t-il un moyen d'obtenir une carte ou une autre structure de données des variables locales dans la portée actuelle sur la machine virtuelle Java sans utiliser de débogueur? Autrement dit, pour obtenir les locaux de la trame de la pile actuelle?Obtention de variables locales à partir d'une image de pile sur la machine virtuelle Java
Je sais qu'il existe des objets stacktrace, mais StackTraceElement
n'a aucun moyen d'accéder à n'importe quel état. Il vous dit juste quelle méthode a été appelée où, mais pas ce qui était dedans.
Les variables locales sont disponibles dans une carte dans le StackFrame. Vous pouvez jeter un oeil ici https://docs.oracle.com/javase/7/docs/jdk/api/jpda/jdi/com/sun/jdi/StackFrame.html –