1、sc:
“Search-Class” 的簡寫,這個命令能搜索出所有已經加載到 JVM 中的 Class 信息,這個命令支持的參數有
[d]
、
[E]
、
[f]
和
[x:]
。
[d] | 輸出當前類的詳細信息,包括這個類所加載的原始文件來源、類的聲明、加載的ClassLoader等詳細信息。 如果一個類被多個ClassLoader所加載,則會出現多次 |
[E] | 開啟正則表達式匹配,默認為通配符匹配 |
[f] | 輸出當前類的成員變量信息(需要配合參數-d一起使用) |
[x:] | 指定輸出靜態變量時屬性的遍歷深度,默認為 0,即直接使用 toString 輸出 |
- 模糊搜索
$ sc demo.*demo.MathGameAffect(row-cnt:1) cost in 55 ms. - 打印類的詳細信息
$ sc -d demo.MathGameclass-info demo.MathGamecode-source /private/tmp/arthas-demo.jarname demo.MathGameisInterface falseisAnnotation falseisEnum falseisAnonymousClass falseisArray falseisLocalClass falseisMemberClass falseisPrimitive falseisSynthetic falsesimple-name MathGamemodifier publicannotationinterfacessuper-class +-java.lang.Objectclass-loader +-sun.misc.Launcher $AppClassLoader@3d4eac69+-sun.misc.Launcher $ExtClassLoader@66350f69classLoaderHash 3d4eac69Affect(row-cnt:1) cost in 875 ms. - 打印出類的Field信息
$ sc -d -f demo.MathGameclass-info demo.MathGamecode-source /private/tmp/arthas-demo.jarname demo.MathGameisInterface falseisAnnotation falseisEnum falseisAnonymousClass falseisArray falseisLocalClass falseisMemberClass falseisPrimitive falseisSynthetic falsesimple-name MathGamemodifier publicannotationinterfacessuper-class +-java.lang.Objectclass-loader +-sun.misc.Launcher $AppClassLoader@3d4eac69+-sun.misc.Launcher $ExtClassLoader@66350f69classLoaderHash 3d4eac69fields modifierprivate,statictype java.util.Randomname randomvalue java.util.Random@522b408amodifierprivatetype intname illegalArgumentCountAffect(row-cnt:1) cost in 19 ms.2、sm: “Search-Method” 的簡寫,這個命令能搜索出所有已經加載了 Class 信息的方法信息。sm
命令只能看到由當前類所聲明 (declaring) 的方法,父類則無法看到。 -
[d] 展示每個方法的詳細信息 [E] 開啟正則表達式匹配,默認為通配符匹配