java printAssembly标志正在打印无汇编指令。
- 论坛
- java printAssembly标志正在打印无汇编指令。
11 浏览
java printAssembly标志正在打印无汇编指令。
在这个 链接 中,rustyx
提到他使用了一个调试虚拟机和以下标志-XX:+PrintOptoAssembly
来获取他的Java字节码的汇编指令。
我使用以下命令安装了调试虚拟机:sudo apt-get install openjdk-17-dbg
我使用命令java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Main
我习惯在C++中使用gdb来做这个,但是无法在Java中实现,printAssembly只打印指令的十六进制值,像下面的示例一样,多次重复出现,没有我的实际代码函数或任何有意义的符号。
匿名的
0 Comments
问题:java printAssembly flag is printing no assembly instructions
原因:需要HotSpot反汇编器插件hsdis-amd64.so,并将其放置在共享库搜索路径上。
解决方法:可以从源代码构建该插件,也可以从预构建的二进制文件中获取。可以从这里获取预构建的二进制文件:https://bell-sw.com/pages/jvm-tools/ 或者https://chriswhocodes.com/hsdis/。