私はPrologでバイトコードの静的解析をしようとしています。私はbcelライブラリを使ってMethodGenから命令リストを取得しています。 aload_0については、 0:aload_0[42](1)
Javaバイトコード命令を理解する助けが必要です
私はaload_0
が0番目のローカル変数をロードすることを意味すると理解しています。しかし、次のビット、つまり[42](1)
を理解するのは苦労しています。他の指示のためにもあります。例:
invokespecial[183](3) 8
return[177](1)
誰かが説明できるものはありますか?それは非常に感謝しますか?
のJava APIを使用する通常の方法は、名前が通常自己説明、むしろ 'のtoStringのフォーマットについての当て推量を行うよりも、クラスのメンバーを介してオブジェクトのプロパティを照会することです()'出力。それ以外にも、[文書化されている](https://commons.apache.org/proper/commons-bcel/apidocs/org/apache/bcel/generic/Instruction.html#toString-boolean-): '長い出力形式: "<オペコード番号>" ""( "<命令の長さ>") "' – Holger
@Holger私に教えていただきありがとうございます。それをここに答えて印を付けるのを忘れた。 –