arthas使用记录

arthas官网:https://arthas.aliyun.com/doc/ 可以查看一些命令的基础用法,用户案例里有很多优秀的实践
idea插件:arthas idea 本地使用idea生成arthas命令,arthas命令不熟悉也能很好使用

修改static类static属性

ognl -x 3 ‘#f=@[package].[class]@class.getDeclaredField(“[field]”),#f.setAccessible(true),#f.set(null,“value”)’

修改bean的属性

spring中bean都是有很多代理的,先查出class的所有bean(包含代理bean)
vmtool --action getInstances --className [package].[class] --express ‘instances’
查出来数组列表,如果不确定某个属性实际生效的是哪个bean,那就所有bean都改
vmtool --action getInstances --className [package].[class] --express ‘#f=instances[0].getClass.getDeclaredField(“[field]”),#f.setAccessible(true),#f.set(instances[0],“value”)’
调整数组下标修改对应bean的属性值

后台执行并保存执行结果

有时候需要多个命令一起跑,这时候就需要让命令在后台执行,并记录结果
以trace为例
trace [package].[class] [method] >> [filename] &
&表示后台执行 >>[filename]表示将结果写到文件

当使用完后,需要手动停止下后台任务
jobs查看所有任务
kill jobid 停止对应任务

Arthas是一个Java诊断工具,它支持JDK 6+,可以在Linux、Mac和Windows上使用,并采用命令行交互模式。它提供了丰富的Tab自动补全功能,方便进行问题的定位和诊断。你可以使用Arthas来执行一些常用的命令,比如dump命令可以将已加载类的字节码文件保存到特定的目录中,classloader命令可以获取类加载器的信息,monitor命令可以监控指定类中方法的执行情况,watch命令可以观察指定方法的调用情况,trace命令可以对方法内部调用路径进行追踪,并输出方法路径上每个节点上的耗时,stack命令可以输出当前方法被调用的路径,tt命令可以记录指定方法每次调用的入参和返回信息,options命令可以控制全局开关,profiler命令可以生成火焰图。你可以通过下载arthas-boot.jar并运行它来安装Arthas使用reset命令可以重置被Arthas增强过的类,当Arthas服务端关闭时,所有增强过的类都会被还原。你可以使用version命令来查看当前Arthas的版本。如果你想获取反编译代码,可以使用jad命令,例如jad --source-only com.taopanfeng.feigndemoa8001.FeignConfiguration。希望这些信息对你有帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Arthas使用教程(8大分类)](https://blog.csdn.net/weixin_44624117/article/details/125238249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Arthas(阿尔萨斯)使用手册](https://blog.csdn.net/qq_38377190/article/details/125409630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值