私は現在、プログラムの実行中にローカル変数の変数名にアクセスし、それらを外部に渡すプログラムを作成しています。デバッグモードでコンパイルしない限り、Javaはコンパイル中にローカル変数名をダンプすることを知っています。
いくつか見てみると、JDI/JPDAがこの種の仕事に行く方法のようです。refを参照すると仮定するとThreadReference、これまでのところ、次のようになります。
ref.suspend();
StackFrame currentFrame = ref.frame(0);
List<LocalVariable> vars = currentFrame.visibleVariables();
ref.resume();
2つの質問:
- 私は正しい方向に進んでいますか、それともこれを行うためのより良い方法がありますか?
ThreadReferenceに設定するを取得するにはどうすればよいrefですか?LocatableEventは私が必要としているもののようですが、誰かがそれを使用する方法の例を提供できますか?
よろしくお願いします!