1、使用 jad命令反编译java类得到源代码文件 此时注意路径中斜杠只能使用反斜杠

jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java

2、使用mc内存编译命令编译源文件

mc /tmp/UserController.java -d /tmp

Mc 编译对于tomcat来说仍然可能会失败

Mc –c 类的classloaderhash或classloader全限定名(classloader hash根据sc –d 类名全限定名获取)。如(mc -c 10731e16 F:/git6/arthasroot/QueryFilter.java -d F:/git6/arthasroot)(‘>’ 符号可以将命令输出结果重定向到文件)

存在的问题是当源码文件中存在多个classloader时mc –c只能指定一个classloader,所以会编译不通过。此时只能使用手动编译。

ClassLoader –c (classloader哈希code)可以列出classloader已加载的类。

实操截图如下

3、redefine命令重新动态加载类(只能重载方法体)

redefine /tmp/com/example/demo/arthas/user/UserController.class

4、综合上述三个命令实现线上热修复(在无源码的情况下)的一般步骤。Jad反编译出类源码->对源码做出略微修改(比如加入调试日志等等)->使用Mc命令编译经过略微修改的源码为class文件,使用redefine重新定义类。(redefine只对方法体的修改有效)

实操截图如下

window下Java诊断工具arthas 实操心得相关推荐

  1. Java诊断工具-Arthas入门与实践

    Java诊断工具-Arthas入门与实践 目录 Java诊断工具-Arthas入门与实践 什么是Arthas? Arthas能做什么? 我在哪里可以下载Arthas? 快速入门 1. 下载并运行mat ...

  2. 阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用

    阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用 一.arthas 上篇文章我们借助arthas监测线上系统的运行信息.排查程序运行缓慢问题,尽管这样已经非常好了,但是还是会 ...

  3. 阿里开源的Java诊断工具——Arthas

    文章目录 1 问题背景 2 前言 3 Arthas有什么作用 4 入门小实践 5 SpringBoot应用.Arthas.Arthas Tunnel Server之间的关系 1 问题背景 线上生产环境 ...

  4. 阿里巴巴开源的 Java 诊断工具Arthas【入门篇】

    前面: 各位老铁们,好久没和大家见面了,最近一直躲在家里不敢出来门,过着像猪的生活..... 吃喝拉撒睡觉.远程在家办公一段时间也是遇到了比较棘手的问题.所以没有顾得上来和大家分享了,不过大家放心,从 ...

  5. Java诊断工具Arthas使用说明

    Arthas简介 当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 ...

  6. 阿里内部的那个牛逼带闪电的Java诊断工具arthas终于开源了

    在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具.该工具已于2018年9月份开源. ...

  7. Arthas(1):Java诊断工具Arthas入门教程

    文章目录 前言 第一节 Arthas 能为你做什么? 第二节 环境准备 第三节 快速入门 1. 启动math-game 2. 启动arthas 3. 查看dashboard 4. 通过 thread ...

  8. java诊断工具-Arthas(阿尔赛斯)入门

    Arthas是什么? Arthas 是Alibaba开源的Java诊断工具. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 E ...

  9. Java诊断工具 Arthas

    是什么         Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱.在线排查问题,无需重启:动态跟踪Java代码:实时监控JVM状态.可以解决如下常见问题: 这个类从哪个 j ...

最新文章

  1. sql语句遇到错误: The used SELECT statements have a different number of columns :
  2. 区块链学习(6)区块链
  3. 使用nginx动静分离后,druid被拦截的解决方法
  4. 记录今天写的几个正则,数字范围的校验
  5. python写传奇脚本,Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...
  6. SSL和数字证书服务慨述(4)
  7. 开源论坛程序 vBulletin 被曝严重且详情不明的漏洞,请立即修复
  8. Activiti接受任务(receiveTask)
  9. What's New in Qt 5.5 5.4,以及5.5 所有module
  10. 【外星眼halcon教程】机器视觉测量消费电子显示屏的颜色
  11. OpenCV--二值化
  12. Activiti6--入门学习--监听器
  13. abp框架java_ABP框架的体系结构及模块系统讲解
  14. vscode c++ code runner 配置 opencv
  15. 【微信小程序】设置页面背景色的方式
  16. 2023年金融节假日函数(VBA)
  17. 自定义provider
  18. BZOJ1002 FJOI2007 轮状病毒 【基尔霍夫矩阵+高精度】
  19. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛(重现赛)题解
  20. Unity3D学习笔记(6)—— 飞碟射击游戏

热门文章

  1. 【论文分享】不平衡流量分类方法 DeepFE:ResNet+SE+non-local:Let Imbalance Have Nowhere to Hide
  2. 李开复讲述离开谷歌后的生活
  3. opencv 将多帧图像合成为视频 cv2.VideoWriter()
  4. Graphviz 绘图软件
  5. 机器视觉——镜头知识整理
  6. 【Apache POI】Excel操作(六):Excel计算公式的读取和使用
  7. myeclipse mysql连接_怎么连接myeclipse与mysql数据库
  8. CDN使用心得:加速双刃剑
  9. 双刃剑MongoDB的学习和避坑
  10. 音视频传输中时间戳小头处理方式