|
|
|
|
<!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 - 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 使用文档">
|
|
|
|
|
<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
|
|
|
|
|
<link rel="stylesheet" href="/assets/style.c4fc83ba.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="" 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&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">'{params,returnObj,throwExp}'</span> <span class="token string">'params.length >0 && returnObj instanceof java.util.List'</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"><</span>init<span class="token operator">></span> <span class="token string">'{params,returnObj,throwExp}'</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">'@java.lang.System@out.println("Hello \u4e2d\u6587")'</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
|
|
|
|
|
<script type="module" src="/assets/app.391b0e4e.js" defer></script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|