利用arthas动态反编译线上文件

## 第一步:反编译
jad --source-only com.product.modules.mq.kafka.KafkaConfiguration > /app/arthas/KafkaConfiguration.java
 
 
## 第二部:查看类加载器 
sc -d *KafkaConfiguration | grep classLoaderHash
 
## 第三步:编译
mc -c 21b8d17c /app/arthas/KafkaConfiguration.java -d /app/arthas/
 
## 第四部:热加载
redefine /app/arthas/com/product/modules/mq/kafka/KafkaConfiguration.class

粗解:

1、com.product.modules.mq.kafka.KafkaConfiguration:为你需要编辑的类(不带.class)
2、/app/arthas/KafkaConfiguration.java :你需要反编译后的本地磁盘路径(带.java结尾)
3、第3步的hashcode为第二步获得的classLoader 的hash值
4、编译后的文件存在的目录是 /app/arthas/ 加上你类的全路径

原文地址:
https://blog.csdn.net/cold_Blooder/article/details/134677277

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容