В настоящее время я пишу программу, в которой я хотел бы получить доступ к именам локальных переменных во время выполнения программы и выдавать их извне.Я знаю, что Java будет выводить имена локальных переменных во время компиляции, если они не скомпилированы в режиме отладки.
После просмотра некоторых из них, кажется, что JDI / JPDA - способ пойти на такую работу.Предполагая, что ref
относится к ThreadReference
, у меня есть следующее:
ref.suspend();
StackFrame currentFrame = ref.frame(0);
List<LocalVariable> vars = currentFrame.visibleVariables();
ref.resume();
Два вопроса:
- Я на правильном пути илиЕсть ли лучший способ сделать это?
- Как получить
ThreadReference
, чтобы установить ref
? LocatableEvent , похоже, то, что мне нужно, но кто-нибудь может привести пример, как его использовать?
Большое спасибо заранее!