Я работаю над Intel i386, Ubuntu 14. Информация о версии OpenJDK, показанная $java -version,
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK Server VM (build 24.65-b04, mixed mode)
Как упоминалось здесь, я скопировал требуемый двоичный файл hsdis-i386.so в следующие места.
/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server
а также
/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client
Затем я перешел к этому блогу, чтобы найти обходной путь и попытаться получить код сборки. Java-программы. Я использовал приведенную ниже команду для тестирования примера Java-программы MyClass.java
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:PrintAssemblyOptions=hsdis-print-bytes -XX:CompileCommand=print,MyClass MyClass
Сообщение, которое я получил на консоли,
OpenJDK Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output
CompilerOracle: unrecognized line "print Test"
c = 50
Где MyClass.java
public class MyClass{
public static void main(String [] args){
int a = 10;
int b = 40;
int c = a + b;
System.out.println("c = "+c);
}
}
Согласно моему пониманию и рассмотрению приведенного выше сообщения, jvm может найти hsdis-i386.so и поэтому говорит PrintAssembly is enabled, однако он не показывает никакого ассемблерного кода. Пожалуйста, помогите мне указать на ошибку, которую я делаю.