Arthas的redefine命令

需求场景

  • 举个栗子,在线上代码某个class的方法添加日志输出,修改方法返回结果,但是,又不想直接修改class

做法

  • 1.上传修改后的class文件到服务器任意路径,比如:/root/java/HelloController.class
  • 2.下载arthas-boot.jar上传到服务器,启动:java -jar arthas-boot.jar
  • 3.根据pid选择要修改class的线上程序
  • 4.通过redefine加载修改后的class文件,redefine /root/java/HelloController.class
  • 5.验证效果,结束
  • 6.这个方式只是修改运行时内存,class文件并没有改变,服务重启就失效了

效果

在这里插入图片描述
参考:
https://alibaba.github.io/arthas/quick-start.html#arthas
https://alibaba.github.io/arthas/redefine.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值