linux中查看汇编代码,Linux 下载配置Hsdis 、JITWatch。查看汇编代码

参考文档

https://github.com/liuzhengyang/hsdis

一:下载配置 Hsdis

Linux的前提条件

要在linux上构建hsdis,您需要确保拥有标准构建工具

apt-get install build-essential

执行apt -get命令 提示找不到命令

yum -y install firefox

1. 下载配置 Hsdis

之前是在网站 https://kenai.com/projects/base-hsdis/downloads 可以下载到,但是该网站现已关闭, 在github 上找到一个仓库提供

git clone https://github.com/liuzhengyang/hsdis

cd hsdis

tar -zxvf binutils-2.26.tar.gz

make BINUTILS=binutils-2.26 ARCH=amd64

2.复制 hsdis-amd64.so 文件到 {java_home}/jre/lib/amd64/server

sudo cp build/linux-amd64/hsdis-amd64.so /usr/src/jdk/jdk1.8.0_131/jre/lib/amd64/server

3.输入一下命令验证是否配置成功

Java HotSpot(TM) 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output

Loaded disassembler from /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so

Decoding compiled method 0x00007f3a7110a010:

Code:

[Disassembling for mach='i386:x86-64']

[Entry Point]

[Constants]

...

4.使用 Hsdis 执行代码,输出反汇编内容

javac Test.java

java -server -XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+PrintAssembly -XX:+LogCompilation -XX:LogFile=live.log Test # A是java文件类名, live.log 是输出的 log 文件

二: JITWatch

1.下载 启动

git clone https://github.com/AdoptOpenJDK/jitwatch

cd jitwatch

./launchUI.sh

2.选择 open log,点击 start

ce6134e2f2b3bf2fe00ae871ef83a3dc.png

3.点击 sanbox ,选择open,选择要分析的 java 文件,点击 run

1ba0761d660cfc3ebf322508f76d71d0.png

2d4ef37003b3603387743a58c8a89ede.png

参考链接

https://cloud.tencent.com/developer/article/1170384

https://www.jianshu.com/p/125f0ecf385f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值