mirror of https://github.com/alibaba/arthas.git
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.
57 lines
58 KiB
HTML
57 lines
58 KiB
HTML
6 months ago
|
<!DOCTYPE html>
|
||
|
<html lang="en-US">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
<meta name="generator" content="VuePress 2.0.0-beta.51">
|
||
|
<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><meta name="aes-config" content="pid=xux-opensource&user_type=101&uid=&username=&dim10=arthas"><script src="//g.alicdn.com/alilog/mlog/aplus_v2.js" id="beacon-aplus" exparams="clog=o&aplus&sidx=aplusSidx&ckx=aplusCkx"></script><script src="//g.alicdn.com/aes/??tracker/1.0.34/index.js,tracker-plugin-pv/2.4.5/index.js,tracker-plugin-event/1.2.5/index.js,tracker-plugin-jserror/1.0.13/index.js,tracker-plugin-api/1.1.14/index.js,tracker-plugin-perf/1.1.8/index.js,tracker-plugin-eventTiming/1.0.4/index.js"></script><title>Fundamental Fields in Expressions | arthas</title><meta name="description" content="arthas user document">
|
||
|
<link rel="modulepreload" href="/3.x/assets/app.4d248835.js"><link rel="modulepreload" href="/3.x/assets/advice-class.html.913cd28f.js"><link rel="modulepreload" href="/3.x/assets/advice-class.html.21f2ea38.js"><link rel="prefetch" href="/3.x/assets/index.html.6c4675e2.js"><link rel="prefetch" href="/3.x/assets/index.html.636fad3d.js"><link rel="prefetch" href="/3.x/assets/advanced-use.html.94d49710.js"><link rel="prefetch" href="/3.x/assets/advice-class.html.0e371faa.js"><link rel="prefetch" href="/3.x/assets/agent.html.2c661add.js"><link rel="prefetch" href="/3.x/assets/arthas-properties.html.c6a378d8.js"><link rel="prefetch" href="/3.x/assets/arthas3.html.f5096367.js"><link rel="prefetch" href="/3.x/assets/async.html.08408f7f.js"><link rel="prefetch" href="/3.x/assets/auth.html.0cae929d.js"><link rel="prefetch" href="/3.x/assets/base64.html.e5a32bd6.js"><link rel="prefetch" href="/3.x/assets/batch-support.html.acbd1eb9.js"><link rel="prefetch" href="/3.x/assets/cat.html.79af7693.js"><link rel="prefetch" href="/3.x/assets/classloader.html.5b255ef1.js"><link rel="prefetch" href="/3.x/assets/cls.html.9332bbdf.js"><link rel="prefetch" href="/3.x/assets/commands.html.e2567b24.js"><link rel="prefetch" href="/3.x/assets/contact-us.html.6d0fe4e6.js"><link rel="prefetch" href="/3.x/assets/dashboard.html.c7a97553.js"><link rel="prefetch" href="/3.x/assets/docker.html.030cca04.js"><link rel="prefetch" href="/3.x/assets/download.html.b853bfd7.js"><link rel="prefetch" href="/3.x/assets/dump.html.3f441711.js"><link rel="prefetch" href="/3.x/assets/echo.html.239528da.js"><link rel="prefetch" href="/3.x/assets/faq.html.abd28b1f.js"><link rel="prefetch" href="/3.x/assets/getstatic.html.2229049b.js"><link rel="prefetch" href="/3.x/assets/grep.html.4aa91236.js"><link rel="prefetch" href="/3.x/assets/groovy.html.21de60b6.js"><link rel="prefetch" href="/3.x/assets/heapdump.html.3fe356b2.js"><link rel="prefetch" href="/3.x/assets/help.html.7ba26453.js"><link rel="prefetch" href="/3.x/assets/history.html.5c8da1d4.js"><link rel="prefetch" href="/3.x/assets/http-api.html.f5e81364.js"><link rel="prefetch" href="/3.x/assets/idea-plugin.html.d7acd139.js"><link rel="prefetch" href="/3.x/assets/install-detail.html.0c410a89.js"><link rel="prefetch" href="/3.x/assets/jad.html.d639a8bb.js"><link rel="prefetch" href="/3.x/assets/jfr.html.e858c4d3.js"><link rel="prefetch" href="/3.x/assets/jvm.html.a00151a5.js"><link rel="prefetch" href="/3.x/assets/keymap.html.e3647cfd.js"><link rel="prefetch" href="/3.x/assets/logger.html.7a983455.js"><link rel="prefetch" href="/3.x/assets/manual-install.html.09d3b86a.js"><link rel="prefetch" href="/3.x/assets/mbean.html.555cb2c7.js"><link rel="prefetch" href="/3.x/assets/mc.html.70645c5e.js"><link rel="prefetch" href="/3.x/assets/memory.html.078c4658.js"><link rel="prefetch" href="/3.x/assets/monitor.html.d6717549.js"><link rel="prefetch" href="/3.x/assets/ognl.html.a04123af.js"><link rel="prefetch" href="/3.x/assets/options.html.76f0ad11.js"><link rel="prefetch" href="/3.x/assets/perfcounter.html.a2008d46.js"><link rel="prefetch" href="/3.x/assets/profiler.html.2fe5463f.js"><link rel="prefetch" href="/3.x/assets/pwd.html.b8813280.js"><link rel="prefetch" href="/3.x/assets/quick-start.html.463266ab.js"><link rel="prefetch" href="/3.x/assets/quit.html.052c6b91.js"><link rel="prefetch" href="/3.x/assets/redefine.html.a2b54a14.js"><link rel="prefetch" href="/3.x/assets/release-notes.html.bd30f66e.js"><link rel="prefetch" href="/3.x/assets/reset.html.d6cfba7b.js"><link rel="prefetch" href="/3.x/assets/retransform.html.8eba17c2.js"><link rel="prefetch" href="/3.x/assets/save-log.html.1848baa1.js"><link rel="prefetch" href="/3.x/assets/sc.html.74c76d3a.js"><link rel="prefetch" href="/3.x/assets/session.html.5c4eabed.js"><link rel="prefetch" href="/3.x/assets/sm.html.e7e61e0b.js"><link rel="prefetch" href="/3.x/assets/spring-boot-starter.html.f437e222.js"><link rel="prefetch" href="/3.x/assets/stack.html.6561e199.js"><link rel="prefetch" href="/3.x/assets/start-arthas.html.11758ed5.js"><link rel="prefetch" href="/3.x/
|
||
|
<link rel="stylesheet" href="/3.x/assets/style.f2bd2fc0.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/3.x/en/" class="" data-v-a8869d06><!----><span class="site-name can-hide" data-v-a8869d06>arthas</span><span class="navbar-version" data-v-a8869d06>v3.7.3</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/3.x/en/" class="" aria-label="HOME"><!--[--><!--]--> HOME <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=en&id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="ONLINE TUTORIALS"><!--[--><!--]--><span>ONLINE TUTORIALS</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">open in new window</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/3.x/en/doc" class="router-link-active" aria-label="DOCS"><!--[--><!--]--> DOCS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/3.x/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/3.x/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</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://arthas.aliyun.com/en/" rel="noopener noreferrer" target="_blank" aria-label="v4.x"><!--[--><!--]--><span>v4.x</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">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.0
|
||
|
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">ClassLoader</span> loader<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Class</span><span class="token generics"><span class="token punctuation"><</span><span class="token operator">?</span><span class="token punctuation">></span></span> clazz<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">ArthasMethod</span> method<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Object</span> target<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Object</span><span class="token punctuation">[</span><span class="token punctuation">]</span> params<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Object</span> returnObj<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Throwable</span> throwExp<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token keyword">boolean</span> isBefore<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token keyword">boolean</span> isThrow<span class="token punctuation">;</span>
|
||
|
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token keyword">boolean</span> isReturn<span class="token punctuation">;</span>
|
||
|
|
||
|
<span class="token comment">// getter/setter</span>
|
||
|
<span class="token punctuation">}</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></div><p>Description for the variables in the class <code>Advice</code>:</p><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">loader</td><td style="text-align:left;">the class loader for the current called class</td></tr><tr><td style="text-align:right;">clazz</td><td style="text-align:left;">the reference to the current called class</td></tr><tr><td style="text-align:right;">method</td><td style="text-align:left;">the reference to the current called method</td></tr><tr><td style="text-align:right;">target</td><td style="text-align:left;">the instance of the current called class</td></tr><tr><td style="text-align:right;">params</td><td style="text-align:left;">the parameters for the current call, which is an array (when there's no parameter, it will be an empty array)</td></tr><tr><td style="text-align:right;">returnObj</td><td style="text-align:left;">the return value from the current call - only available when the method call returns normally (<code>isReturn==true</code>), and <code>null</code> is for <code>void</code> return value</td></tr><tr><td style="text-align:right;">throwExp</td><td style="text-align:left;">the exceptions thrown from the current call - only available when the method call throws exception (<code>isThrow==true</code>)</td></tr><tr><td style="text-align:right;">isBefore</td><td style="text-align:left;">flag to indicate the method is about to execute. <code>isBefore==true</code> but <code>isThrow==false</code> and <code>isReturn==false</code> since it's no way to know how the method call will end</td></tr><tr><td style="text-align:right;">isThrow</td><td style="text-align:left;">flag to indicate the method call ends with exception thrown</td></tr><tr><td style="text-align:right;">isReturn</td><td style="text-align:left;">flag to indicate the method call ends normally without exception thrown</td></tr></tbody></table><p>All variables listed above can be used directly in the <a href="https://commons.apache.org/proper/commons-ognl/language-guide.html" target="_blank" rel="noopener noreferrer">OGNL expression<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">open in new window</span></span></a>. The command will not execute and exit if there's illegal OGNL grammar or unexpected variable in the expression.</p><ul><li><a href="https://github.com/alibaba/arthas/issues/71" target="_blank" rel="noopener noreferrer">typical use cases<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">open in new window</span></span></a>;</li><li><a href="https://commons.apache.org/proper/
|
||
|
<script type="module" src="/3.x/assets/app.4d248835.js" defer></script>
|
||
|
</body>
|
||
|
</html>
|