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/faq.html

48 lines
68 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>
3 years ago
<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 - alibaba/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 - alibaba/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 - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta itemprop="name" content="Arthas"><meta itemprop="image" content="/images/arthas_mate_image.png"><meta itemprop="description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/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>FAQ | arthas</title><meta name="description" content="arthas 使用文档">
3 years ago
<link rel="modulepreload" href="/assets/app.391b0e4e.js"><link rel="modulepreload" href="/assets/faq.html.5948f390.js"><link rel="modulepreload" href="/assets/faq.html.abd854f1.js"><link rel="prefetch" href="/assets/index.html.ec74869a.js"><link rel="prefetch" href="/assets/index.html.d3cced9f.js"><link rel="prefetch" href="/assets/index.html.c11a8683.js"><link rel="prefetch" href="/assets/advanced-use.html.d690d46c.js"><link rel="prefetch" href="/assets/advice-class.html.4e93ebd7.js"><link rel="prefetch" href="/assets/agent.html.a02fd5cb.js"><link rel="prefetch" href="/assets/arthas-properties.html.e0301951.js"><link rel="prefetch" href="/assets/arthas3.html.d1633eb8.js"><link rel="prefetch" href="/assets/async.html.17ea43ab.js"><link rel="prefetch" href="/assets/auth.html.37ca6bb5.js"><link rel="prefetch" href="/assets/base64.html.b9530fc8.js"><link rel="prefetch" href="/assets/batch-support.html.a2be35e2.js"><link rel="prefetch" href="/assets/cat.html.42885227.js"><link rel="prefetch" href="/assets/classloader.html.faacf70e.js"><link rel="prefetch" href="/assets/cls.html.af39fd39.js"><link rel="prefetch" href="/assets/commands.html.9dc0463a.js"><link rel="prefetch" href="/assets/contact-us.html.16fb01ac.js"><link rel="prefetch" href="/assets/dashboard.html.0b694615.js"><link rel="prefetch" href="/assets/docker.html.797da397.js"><link rel="prefetch" href="/assets/download.html.a75cd477.js"><link rel="prefetch" href="/assets/dump.html.e5e17e0e.js"><link rel="prefetch" href="/assets/echo.html.922d5af6.js"><link rel="prefetch" href="/assets/getstatic.html.77a5a68e.js"><link rel="prefetch" href="/assets/grep.html.75fa6737.js"><link rel="prefetch" href="/assets/groovy.html.bcb88dfe.js"><link rel="prefetch" href="/assets/heapdump.html.5e26a91c.js"><link rel="prefetch" href="/assets/help.html.9365d9ca.js"><link rel="prefetch" href="/assets/history.html.19b5039d.js"><link rel="prefetch" href="/assets/http-api.html.1b6f4877.js"><link rel="prefetch" href="/assets/idea-plugin.html.438f3f13.js"><link rel="prefetch" href="/assets/install-detail.html.cfd3d763.js"><link rel="prefetch" href="/assets/jad.html.45a48802.js"><link rel="prefetch" href="/assets/jvm.html.9e2ef28b.js"><link rel="prefetch" href="/assets/keymap.html.82e95f8e.js"><link rel="prefetch" href="/assets/logger.html.38490b13.js"><link rel="prefetch" href="/assets/manual-install.html.1daf5a51.js"><link rel="prefetch" href="/assets/mbean.html.b5a19b16.js"><link rel="prefetch" href="/assets/mc.html.28a839a5.js"><link rel="prefetch" href="/assets/memory.html.21a8a665.js"><link rel="prefetch" href="/assets/monitor.html.ea7499e3.js"><link rel="prefetch" href="/assets/ognl.html.c55aa597.js"><link rel="prefetch" href="/assets/options.html.da3ef3a3.js"><link rel="prefetch" href="/assets/perfcounter.html.cfebcf2d.js"><link rel="prefetch" href="/assets/profiler.html.cd7e1584.js"><link rel="prefetch" href="/assets/pwd.html.9c92f559.js"><link rel="prefetch" href="/assets/quick-start.html.d9abe6d7.js"><link rel="prefetch" href="/assets/quit.html.3f89724d.js"><link rel="prefetch" href="/assets/redefine.html.8a08813b.js"><link rel="prefetch" href="/assets/release-notes.html.dc8ff1f0.js"><link rel="prefetch" href="/assets/reset.html.1413086f.js"><link rel="prefetch" href="/assets/retransform.html.342303bb.js"><link rel="prefetch" href="/assets/save-log.html.c42ff748.js"><link rel="prefetch" href="/assets/sc.html.f9c5b69c.js"><link rel="prefetch" href="/assets/session.html.6904a40b.js"><link rel="prefetch" href="/assets/sm.html.a212974a.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.e62a7a68.js"><link rel="prefetch" href="/assets/stack.html.a3201354.js"><link rel="prefetch" href="/assets/start-arthas.html.5421937d.js"><link rel="prefetch" href="/assets/stop.html.e7556014.js"><link rel="prefetch" href="/assets/sysenv.html.51ba409a.js"><link rel="prefetch" href="/assets/sysprop.html.480d71dd.js"><link rel="prefetch" href="/assets/tee.html.09a9aee7.js"><link rel="prefetch" href="/assets/thread.html.f9fb3f7f.js"><link rel="prefetch" href="/assets/trace.html.802884f0.js
3 years ago
<link rel="stylesheet" href="/assets/style.c4fc83ba.css">
</head>
<body>
3 years ago
<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="" data-v-2aa8cc94><!----><span class="site-name can-hide" data-v-2aa8cc94>arthas</span><span class="navbar-version" data-v-2aa8cc94>v3.6.4</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" viewb
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>更多参考 <a href="/doc/options.html" class="">options</a></p><div class="custom-container tip"><p class="custom-container-title">提示</p><p>通过 java.lang.instrument.Instrumentation#appendToBootstrapClassLoaderSearch append 到<code>Bootstrap ClassLoader</code>的 jar 包需要开启 unsafe。</p></div><h3 id="怎么以json格式查看结果" tabindex="-1"><a class="header-anchor" href="#怎么以json格式查看结果" aria-hidden="true">#</a> 怎么以<code>json</code>格式查看结果</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>options json-format <span class="token boolean">true</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>更多参考 <a href="/doc/options.html" class="">options</a></p><h3 id="arthas-能否跟踪-native-函数" tabindex="-1"><a class="header-anchor" href="#arthas-能否跟踪-native-函数" aria-hidden="true">#</a> Arthas 能否跟踪 native 函数</h3><p>不能。</p><h3 id="能不能查看内存里某个变量的值" tabindex="-1"><a class="header-anchor" href="#能不能查看内存里某个变量的值" aria-hidden="true">#</a> 能不能查看内存里某个变量的值</h3><ol><li>可以使用<a href="/doc/vmtool.html" class=""><code>vmtool</code></a>命令。</li><li>可以用一些技巧,用<a href="/doc/tt.html" class=""><code>tt</code></a>命令拦截到对象,或者从静态函数里取到对象。</li></ol><h3 id="方法同名过滤" tabindex="-1"><a class="header-anchor" href="#方法同名过滤" aria-hidden="true">#</a> 方法同名过滤</h3><p>同名方法过滤可以通过匹配表达式,可以使用<a href="/doc/advice-class.html" class="">表达式核心变量</a>中所有变量作为已知条件,可以通过判断参数个数<code>params.length ==1</code>, 参数类型<code>params[0] instanceof java.lang.Integer</code>、返回值类型 <code>returnObj instanceof java.util.List</code> 等等一种或者多种组合进行过滤。</p><p>可以使用 <code>-v</code> 查看观察匹配表达式的执行结果 <a href="https://github.com/alibaba/arthas/issues/1348" target="_blank" rel="noopener noreferrer">https://github.com/alibaba/arthas/issues/1348<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></p><p>例子<a href="/doc/quick-start.html" class="">math-game</a></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">&#39;{params,returnObj,throwExp}&#39;</span> <span class="token string">&#39;params.length &gt;0 &amp;&amp; returnObj instanceof java.util.List&#39;</span> -v
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="怎么-watch、trace-构造函数" tabindex="-1"><a class="header-anchor" href="#怎么-watch、trace-构造函数" aria-hidden="true">#</a> 怎么 watch、trace 构造函数 </h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> demo.MathGame <span class="token operator">&lt;</span>init<span class="token operator">&gt;</span> <span class="token string">&#39;{params,returnObj,throwExp}&#39;</span> -v
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="怎样-watch、trace-内部类" tabindex="-1"><a class="header-anchor" href="#怎样-watch、trace-内部类" aria-hidden="true">#</a> 怎样 watch、trace 内部类?</h3><p>在 JVM 规范里内部类的格式是<code>OuterClass$InnerClass</code></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> OuterClass<span class="token variable">$InnerClass</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="输入中文-unicode-字符" tabindex="-1"><a class="header-anchor" href="#输入中文-unicode-字符" aria-hidden="true">#</a> 输入中文/Unicode 字符</h3><p>把中文/Unicode 字符转为<code>\u</code>表示方法:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>ognl <span class="token string">&#39;@java.lang.System@out.println(&quot;Hello \u4e2d\u6587&quot;)&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="java-lang-classformaterror-null、skywalking-arthas-兼容使用" tabindex="-1"><a class="header-anchor" href="#java-lang-classformaterror-null、skywalking-arthas-兼容使用" aria-hidden="true">#</a> java.lang.ClassFormatError: null、skywalking arthas 兼容使用</h3><p>当出现这个错误日志<code>java.lang.ClassFormatError: null</code>,通常情况下都是被其他字节码工具修改过与 arthas 修改字节码不兼容。</p><p>比如: 使用 skywalking V8.1.0 以下版本 <a href="https://github.com/alibaba/arthas/issues/1141" target="_blank" rel="noopener noreferrer">无法 trace、watch 被 skywalking agent 增强过的类<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>, V8.1.0 以上版本可以兼容使用,更多参考 skywalking 配置 <a href="https://github.com/apache/skywalking/blob/master/docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md#" target="_blank" rel="noopener noreferrer">skywalking compatible with other javaagent bytecode processing<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></p><h4 id="class-redefinition-failed-attempted-to-change-the-schema-add-remove-fields" tabindex="-1"><a class="header-anchor" href="#class-redefinition-failed-attempted-to-change-the-schema-add-remove-fields" aria-hidden="true">#</a> class redefinition failed: attempted to change the schema (add/remove fields)</h4><p>参考: <a href="https://github.com/alibaba/arthas/issues/2165" target="_blank" rel="noopener noreferrer">https://github.com/alibaba/arthas/issues/2165<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></p><h3 id="arthas-能不能离线使用" tabindex="-1"><a class="header-anchor" href="#arthas-能不能离线使用" aria-hidden="true">#</a> Arthas 能不能离线使用</h3><p>可以。下载全量包解压即可,参考: <a href="/doc/download.html" class="">下载</a></p><h3 id="attach-docker-k8s-里的-pid-为-1-的进程失败" tabindex="-1"><a class="header-anchor" href="#attach-docker-k8s-里的-pid-为-1-的进程失败" aria-hidden="true">#</a> Attach docker/k8s 里的 pid 为 1 的进程失败</h3><p>参考: <a href="https://github.com/alibaba/arthas/issues/362#issuecomment-448185416" target="_blank" rel="noopener noreferrer">https://github.com/alibaba/arthas/issues/362#issuecomment-448185416<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="M1
3 years ago
<script type="module" src="/assets/app.391b0e4e.js" defer></script>
</body>
</html>