ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Arthas(6):options全局设置

2022-08-15 15:00:08  阅读:194  来源: 互联网

标签:false 默认 strict Arthas 匹配 全局 true options 表达式


options

作用:全局开关

名称 默认值 描述
unsafe false 是否支持对系统级别的类进行增强,打开该开关可能导致把 JVM 搞挂,请慎重选择!
dump false 是否支持被增强了的类 dump 到外部文件中,如果打开开关,class 文件会被 dump 到/${application working dir}/arthas-class-dump/目录下,具体位置详见控制台输出
batch-re-transform true 是否支持批量对匹配到的类执行 retransform 操作
json-format false 是否支持 json 化的输出
disable-sub-class false 是否禁用子类匹配,默认在匹配目标类的时候会默认匹配到其子类,如果想精确匹配,可以关闭此开关
support-default-method true 是否支持匹配到 default method, 默认会查找 interface,匹配里面的 default method。
save-result false 是否打开执行结果存日志功能,打开之后所有命令的运行结果都将保存到~/logs/arthas-cache/result.log
job-timeout 1d 异步后台任务的默认超时时间,超过这个时间,任务自动停止;比如设置 1d, 2h, 3m, 25s,分别代表天、小时、分、秒
print-parent-fields true 是否打印在 parent class 里的 filed
verbose false 是否打印更多详细信息
strict true 是否启用 strict 模式

查看所有的 options

image-20220815144749935

获取 option 的值

image-20220815144822490

设置指定的 option

例如,想打开执行结果存日志功能,输入如下命令即可:

image-20220815144847996

打开 unsafe 开关,支持 jdk package 下的类

默认情况下,watch/trace/tt/trace/monitor等命令不支持java.* package 下的类。可以设置unsafe为 true,则可以增强。

image-20220815144929578

关闭 strict 模式,允许在 ognl 表达式里设置对象属性

since 3.6.0

对于新用户,在编写 ognl 表达式时,可能会出现误用。

比如对于Student,判断年龄等于 18 时,可能条件表达式会误写为target.age=18,这个表达式实际上是把当前对象的age设置为 18 了。正确的写法是target.age==18

为了防止出现类似上面的误用,Arthas 默认启用strict模式,在ognl表达式里,禁止更新对象的 Property 或者调用setter函数。

MathGame为例,会出现以下的错误提示。

image-20220815145052726

用户如果确定要在ognl表达式里更新对象,可以执行options strict false,关闭strict模式。

标签:false,默认,strict,Arthas,匹配,全局,true,options,表达式
来源: https://www.cnblogs.com/wwjj4811/p/16588320.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有