You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/doc/options.html

102 lines
67 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-beta.49">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" href="/images/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:title" content="Arthas"><meta property="og:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - Fatpandac/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image" content="/images/arthas_mate_image.png"><meta property="og:description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - Fatpandac/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="600"><meta property="twitter:image:src" content="/images/arthas_mate_image.png"><meta property="twitter:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - Fatpandac/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><title>options | arthas</title><meta name="description" content="arthas 使用文档">
3 years ago
<link rel="modulepreload" href="/assets/app.8a3762b8.js"><link rel="modulepreload" href="/assets/options.html.31d7509f.js"><link rel="modulepreload" href="/assets/options.html.ff8fe789.js"><link rel="prefetch" href="/assets/index.html.45b69b3a.js"><link rel="prefetch" href="/assets/index.html.76ea9ae7.js"><link rel="prefetch" href="/assets/index.html.1eea359b.js"><link rel="prefetch" href="/assets/advanced-use.html.10269055.js"><link rel="prefetch" href="/assets/advice-class.html.36067001.js"><link rel="prefetch" href="/assets/agent.html.9015da1d.js"><link rel="prefetch" href="/assets/arthas-properties.html.cee1ed6b.js"><link rel="prefetch" href="/assets/arthas3.html.acc26c6e.js"><link rel="prefetch" href="/assets/async.html.e27f256b.js"><link rel="prefetch" href="/assets/auth.html.32218e6b.js"><link rel="prefetch" href="/assets/base64.html.4047e29e.js"><link rel="prefetch" href="/assets/batch-support.html.7ecb82c6.js"><link rel="prefetch" href="/assets/cat.html.cc30c619.js"><link rel="prefetch" href="/assets/classloader.html.6c401b19.js"><link rel="prefetch" href="/assets/cls.html.5a559768.js"><link rel="prefetch" href="/assets/commands.html.258e29be.js"><link rel="prefetch" href="/assets/contact-us.html.421393eb.js"><link rel="prefetch" href="/assets/dashboard.html.4eb977c5.js"><link rel="prefetch" href="/assets/docker.html.811af1aa.js"><link rel="prefetch" href="/assets/download.html.54eca683.js"><link rel="prefetch" href="/assets/dump.html.cecedbdc.js"><link rel="prefetch" href="/assets/echo.html.046fded9.js"><link rel="prefetch" href="/assets/faq.html.69db73f0.js"><link rel="prefetch" href="/assets/getstatic.html.8b8918aa.js"><link rel="prefetch" href="/assets/grep.html.9589e767.js"><link rel="prefetch" href="/assets/groovy.html.a7b151ba.js"><link rel="prefetch" href="/assets/heapdump.html.3779c034.js"><link rel="prefetch" href="/assets/help.html.1ee751af.js"><link rel="prefetch" href="/assets/history.html.6d544ac4.js"><link rel="prefetch" href="/assets/http-api.html.1ee2ca01.js"><link rel="prefetch" href="/assets/idea-plugin.html.3d23f092.js"><link rel="prefetch" href="/assets/install-detail.html.e60cda0e.js"><link rel="prefetch" href="/assets/jad.html.7cc2f9ab.js"><link rel="prefetch" href="/assets/jvm.html.99f686c2.js"><link rel="prefetch" href="/assets/keymap.html.152983ec.js"><link rel="prefetch" href="/assets/logger.html.37652f5a.js"><link rel="prefetch" href="/assets/manual-install.html.ec6f137a.js"><link rel="prefetch" href="/assets/mbean.html.dd61851f.js"><link rel="prefetch" href="/assets/mc.html.4ad9c4ed.js"><link rel="prefetch" href="/assets/memory.html.987bdeb1.js"><link rel="prefetch" href="/assets/monitor.html.39213eeb.js"><link rel="prefetch" href="/assets/ognl.html.94fd12b2.js"><link rel="prefetch" href="/assets/perfcounter.html.4ad1dec5.js"><link rel="prefetch" href="/assets/profiler.html.235e7cd3.js"><link rel="prefetch" href="/assets/pwd.html.31c88e07.js"><link rel="prefetch" href="/assets/quick-start.html.ecd924ae.js"><link rel="prefetch" href="/assets/quit.html.f082ff2d.js"><link rel="prefetch" href="/assets/redefine.html.9dc81560.js"><link rel="prefetch" href="/assets/release-notes.html.ceeefd88.js"><link rel="prefetch" href="/assets/reset.html.fb7a3c31.js"><link rel="prefetch" href="/assets/retransform.html.c3f8c24d.js"><link rel="prefetch" href="/assets/save-log.html.b8840842.js"><link rel="prefetch" href="/assets/sc.html.46898c95.js"><link rel="prefetch" href="/assets/session.html.e39a5ae5.js"><link rel="prefetch" href="/assets/sm.html.3335d118.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.15a438ba.js"><link rel="prefetch" href="/assets/stack.html.6cf13a4b.js"><link rel="prefetch" href="/assets/start-arthas.html.073b53b8.js"><link rel="prefetch" href="/assets/stop.html.4353502b.js"><link rel="prefetch" href="/assets/sysenv.html.b3de9636.js"><link rel="prefetch" href="/assets/sysprop.html.bad87bbb.js"><link rel="prefetch" href="/assets/tee.html.1dcb7a40.js"><link rel="prefetch" href="/assets/thread.html.11eebe49.js"><link rel="prefetch" href="/assets/trace.html.b49ae48
<link rel="stylesheet" href="/assets/style.eaa9a6b4.css">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="切换侧边栏" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/" class=""><!----><span class="site-name can-hide">arthas</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=cn&amp;id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="在线教程"><!--[--><!--]--><span>在线教程</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/" class="router-link-active" aria-label="文档"><!--[--><!--]--> 文档 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="解决方案"><span class="title">解决方案</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="解决方案"><span class="title">解决方案</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="https://cn.aliyun.com/product/aliware/mse?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="微服务解决方案"><!--[--><!--]--><span>微服务解决方案</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/aliware/txc?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="分布式事务解决方案"><!--[--><!--]--><span>分布式事务解决方案</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/ahas?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="高可用解决方案"><!--[--><!--]--><span>高可用解决方案</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2
LEVEL TYPE NAME VALUE SUMMARY DESCRIPTION
-------------------------------------------------------------------------------------------------------
<span class="token number">0</span> boolea unsafe <span class="token boolean">false</span> Option to support sy This option enables to proxy functionality
n stem-level class of JVM classes. Due to serious security r
isk a JVM crash is possibly be introduced.
Do not activate it unless you are able to
manage.
<span class="token number">1</span> boolea dump <span class="token boolean">false</span> Option to dump the e This option enables the enhanced classes t
n nhanced classes o be dumped to external <span class="token function">file</span> <span class="token keyword">for</span> further d
e-compilation and analysis.
<span class="token number">1</span> boolea batch-re-tra <span class="token boolean">true</span> Option to support ba This options enables to reTransform classe
n nsform tch reTransform Clas s with batch mode.
s
<span class="token number">2</span> boolea json-format <span class="token boolean">false</span> Option to support JS This option enables to <span class="token function">format</span> object outpu
n ON <span class="token function">format</span> of object t with JSON when -x option selected.
output
<span class="token number">1</span> boolea disable-sub- <span class="token boolean">false</span> Option to control <span class="token keyword">in</span> This option disable to include sub class w
n class clude sub class when hen matching class.
class matching
<span class="token number">1</span> boolea support-defa <span class="token boolean">true</span> Option to control <span class="token keyword">in</span> This option disable to include default met
n ult-method clude default method hod <span class="token keyword">in</span> interface when matching class.
<span class="token keyword">in</span> interface when c
lass matching
<span class="token number">1</span> boolea save-result <span class="token boolean">false</span> Option to print <span class="token function">comm</span> This option enables to save each <span class="token builtin class-name">command</span><span class="token string">&#39;s
n and&#39;</span>s result to log result to log file, <span class="token function">which</span> path is <span class="token variable">${user.
file home}</span>/logs/arthas-cache/result.log.
<span class="token number">2</span> String job-timeout 1d Option to job timeou This option setting job timeout,The unit c
t an be d, h, m, s <span class="token keyword">for</span> day, hour, minute, se
cond. 1d is one day <span class="token keyword">in</span> default
<span class="token number">1</span> boolea print-parent <span class="token boolean">true</span> Option to print all This option enables print files <span class="token keyword">in</span> parent
n -fields fileds <span class="token keyword">in</span> parent cla class, default value true.
ss
<span class="token number">1</span> boolea verbose <span class="token boolean">false</span> Option to print verb This option enables print verbose informat
n ose information ion, default value false.
<span class="token number">1</span> boolea strict <span class="token boolean">true</span> Option to strict mod By default, strict mode is true, not allow
n e ed to <span class="token builtin class-name">set</span> object properties. Want to <span class="token builtin class-name">set</span> o
bject properties, execute <span class="token variable"><span class="token variable">`</span>options strict
<span class="token boolean">false</span><span class="token variable">`</span></span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="获取-option-的值" tabindex="-1"><a class="header-anchor" href="#获取-option-的值" aria-hidden="true">#</a> 获取 option 的值</h3><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ options json-format
LEVEL TYPE NAME VALUE SUMMARY DESCRIPTION
--------------------------------------------------------------------------------------------
2 bool json-format false Option to support This option enables to format object
ean JSON format of obj output with JSON when -x option selec
ect output ted.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="custom-container tip"><p class="custom-container-title">提示</p><p>默认情况下<code>json-format</code>为 false如果希望<code>watch</code>/<code>tt</code>等命令结果以 json 格式输出,则可以设置<code>json-format</code>为 true。</p></div><h3 id="设置指定的-option" tabindex="-1"><a class="header-anchor" href="#设置指定的-option" aria-hidden="true">#</a> 设置指定的 option</h3><p>例如,想打开执行结果存日志功能,输入如下命令即可:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ options save-result true
NAME BEFORE-VALUE AFTER-VALUE
----------------------------------------
save-result false true
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="打开-unsafe-开关-支持-jdk-package-下的类" tabindex="-1"><a class="header-anchor" href="#打开-unsafe-开关-支持-jdk-package-下的类" aria-hidden="true">#</a> 打开 unsafe 开关,支持 jdk package 下的类</h3><p>默认情况下,<code>watch</code>/<code>trace</code>/<code>tt</code>/<code>trace</code>/<code>monitor</code>等命令不支持<code>java.*</code> package 下的类。可以设置<code>unsafe</code>为 true则可以增强。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ options unsafe <span class="token boolean">true</span>
NAME BEFORE-VALUE AFTER-VALUE
-----------------------------------
unsafe <span class="token boolean">false</span> <span class="token boolean">true</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> java.lang.invoke.Invokers callSiteForm
Press Q or Ctrl+C to abort.
Affect<span class="token punctuation">(</span>class count: <span class="token number">1</span> , method count: <span class="token number">1</span><span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">61</span> ms, listenerId: <span class="token number">1</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="关闭-strict-模式-允许在-ognl-表达式里设置对象属性" tabindex="-1"><a class="header-anchor" href="#关闭-strict-模式-允许在-ognl-表达式里设置对象属性" aria-hidden="true">#</a> 关闭 strict 模式,允许在 ognl 表达式里设置对象属性</h3><div class="custom-container tip"><p class="custom-container-title">提示</p><p>since 3.6.0</p></div><p>对于新用户,在编写 ognl 表达式时,可能会出现误用。</p><p>比如对于<code>Student</code>,判断年龄等于 18 时,可能条件表达式会误写为<code>target.age=18</code>,这个表达式实际上是把当前对象的<code>age</code>设置为 18 了。正确的写法是<code>target.age==18</code></p><p>为了防止出现类似上面的误用Arthas 默认启用<code>strict</code>模式,在<code>ognl</code>表达式里,禁止更新对象的 Property 或者调用<code>setter</code>函数。</p><p><code>MathGame</code>为例,会出现以下的错误提示。</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ watch demo.MathGame primeFactors &#39;target&#39; &#39;target.illegalArgumentCount=1&#39;
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 206 ms, listenerId: 1
watch failed, condition is: target.illegalArgumentCount=1, express is: target, By default, strict mode is true, not allowed to set object properties. Want to set object properties, execute `options strict false`, visit /Users/admin/logs/arthas/arthas.log for more details.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用户如果确定要在<code>ognl</code>表达式里更新对象,可以执行<code>options strict false</code>,关闭<code>strict</code>模式。</p><ul><li>更多信息参考: https://github.com/alibaba/arthas/issues/2128</li></ul></div><!--[--><!--]--></div><footer class="page-meta right-menu-padding" data-v-e0e60120><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/alibaba/arthas/edit/master/site/docs/doc/options.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--><span>在 GitHub 上编辑此页</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">贡献者: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: hengyunabc@gmail.com">hengyunabc</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hollowman186@vip.qq.com">Hollow Man</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: zzilovey@gmail.com">qianmoke</span><!----><!--]--><!--]--></span></div></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
3 years ago
<script type="module" src="/assets/app.8a3762b8.js" defer></script>
</body>
</html>