From 0153812d5ed3c4984f5a2f5894b68206d6940e02 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Mon, 3 Dec 2018 17:05:43 +0800 Subject: [PATCH] update sc doc --- .../command/klass100/SearchClassCommand.java | 3 +- site/src/site/sphinx/en/sc.md | 106 ++++++++++++------ site/src/site/sphinx/sc.md | 106 ++++++++++++------ 3 files changed, 140 insertions(+), 75 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchClassCommand.java b/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchClassCommand.java index 2b615e088..fc677a2c5 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchClassCommand.java +++ b/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchClassCommand.java @@ -29,10 +29,11 @@ import com.taobao.text.util.RenderUtil; @Name("sc") @Summary("Search all the classes loaded by JVM") @Description(Constants.EXAMPLE + - " sc -E org\\\\.apache\\\\.commons\\\\.lang\\\\.StringUtils\n" + " sc -d org.apache.commons.lang.StringUtils\n" + " sc -d org/apache/commons/lang/StringUtils\n" + " sc -d *StringUtils\n" + + " sc -d -f org.apache.commons.lang.StringUtils\n" + + " sc -E org\\\\.apache\\\\.commons\\\\.lang\\\\.StringUtils\n" + Constants.WIKI + Constants.WIKI_HOME + "sc") public class SearchClassCommand extends AnnotatedCommand { private String classPattern; diff --git a/site/src/site/sphinx/en/sc.md b/site/src/site/sphinx/en/sc.md index 9eb8ee553..1267a771f 100644 --- a/site/src/site/sphinx/en/sc.md +++ b/site/src/site/sphinx/en/sc.md @@ -21,44 +21,76 @@ sc ### Usage -For example, use `sc -df class-name` to view class's static fields: +* Wildcards match search -```shell -$ sc -df org.apache.commons.lang.StringUtils + ```bash + $ sc demo.* + demo.MathGame + Affect(row-cnt:1) cost in 55 ms. + ``` - class-info org.apache.commons.lang.StringUtils - code-source /Users/zhuyong/middleware/citrus-sample/petstore/web/target/petstore/WEB-INF/lib/commons-lang-2.4.jar - name org.apache.commons.lang.StringUtils - isInterface false - isAnnotation false - isEnum false - isAnonymousClass false - isArray false - isLocalClass false - isMemberClass false - isPrimitive false - isSynthetic false - simple-name StringUtils - modifier public - annotation - interfaces - super-class +-java.lang.Object - class-loader +-com.taobao.tomcat.container.context.loader.AliWebappClassLoader - +-org.apache.catalina.loader.StandardClassLoader@1d44eef3 - +-sun.misc.Launcher$AppClassLoader@57a462c9 - +-sun.misc.Launcher$ExtClassLoader@6951a712 - fields modifier final,public,static - type java.lang.String - name EMPTY - value +* View class details - modifier final,public,static - type int - name INDEX_NOT_FOUND - value -1 + ```bash + $ sc -d demo.MathGame + class-info demo.MathGame + code-source /private/tmp/arthas-demo.jar + name demo.MathGame + isInterface false + isAnnotation false + isEnum false + isAnonymousClass false + isArray false + isLocalClass false + isMemberClass false + isPrimitive false + isSynthetic false + simple-name MathGame + modifier public + annotation + interfaces + super-class +-java.lang.Object + class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69 + +-sun.misc.Launcher$ExtClassLoader@66350f69 + classLoaderHash 3d4eac69 - modifier final,private,static - type int - name PAD_LIMIT - value 8192 -``` + Affect(row-cnt:1) cost in 875 ms. + ``` + +* View class fileds + + ```bash + $ sc -d -f demo.MathGame + class-info demo.MathGame + code-source /private/tmp/arthas-demo.jar + name demo.MathGame + isInterface false + isAnnotation false + isEnum false + isAnonymousClass false + isArray false + isLocalClass false + isMemberClass false + isPrimitive false + isSynthetic false + simple-name MathGame + modifier public + annotation + interfaces + super-class +-java.lang.Object + class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69 + +-sun.misc.Launcher$ExtClassLoader@66350f69 + classLoaderHash 3d4eac69 + fields modifierprivate,static + type java.util.Random + name random + value java.util.Random@522b4 + 08a + + modifierprivate + type int + name illegalArgumentCount + + + Affect(row-cnt:1) cost in 19 ms. + ``` diff --git a/site/src/site/sphinx/sc.md b/site/src/site/sphinx/sc.md index cd82c72fe..b56622cb0 100644 --- a/site/src/site/sphinx/sc.md +++ b/site/src/site/sphinx/sc.md @@ -25,44 +25,76 @@ sc ### 使用参考 -例如, 查看类的静态变量信息, 可以用`sc -df class-name` +* 模糊搜索 -```shell -$ sc -df org.apache.commons.lang.StringUtils + ```bash + $ sc demo.* + demo.MathGame + Affect(row-cnt:1) cost in 55 ms. + ``` - class-info org.apache.commons.lang.StringUtils - code-source /Users/zhuyong/middleware/citrus-sample/petstore/web/target/petstore/WEB-INF/lib/commons-lang-2.4.jar - name org.apache.commons.lang.StringUtils - isInterface false - isAnnotation false - isEnum false - isAnonymousClass false - isArray false - isLocalClass false - isMemberClass false - isPrimitive false - isSynthetic false - simple-name StringUtils - modifier public - annotation - interfaces - super-class +-java.lang.Object - class-loader +-com.taobao.tomcat.container.context.loader.AliWebappClassLoader - +-org.apache.catalina.loader.StandardClassLoader@1d44eef3 - +-sun.misc.Launcher$AppClassLoader@57a462c9 - +-sun.misc.Launcher$ExtClassLoader@6951a712 - fields modifier final,public,static - type java.lang.String - name EMPTY - value +* 打印类的详细信息 - modifier final,public,static - type int - name INDEX_NOT_FOUND - value -1 + ```bash + $ sc -d demo.MathGame + class-info demo.MathGame + code-source /private/tmp/arthas-demo.jar + name demo.MathGame + isInterface false + isAnnotation false + isEnum false + isAnonymousClass false + isArray false + isLocalClass false + isMemberClass false + isPrimitive false + isSynthetic false + simple-name MathGame + modifier public + annotation + interfaces + super-class +-java.lang.Object + class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69 + +-sun.misc.Launcher$ExtClassLoader@66350f69 + classLoaderHash 3d4eac69 - modifier final,private,static - type int - name PAD_LIMIT - value 8192 -``` \ No newline at end of file + Affect(row-cnt:1) cost in 875 ms. + ``` + +* 打印出类的Field信息 + + ```bash + $ sc -d -f demo.MathGame + class-info demo.MathGame + code-source /private/tmp/arthas-demo.jar + name demo.MathGame + isInterface false + isAnnotation false + isEnum false + isAnonymousClass false + isArray false + isLocalClass false + isMemberClass false + isPrimitive false + isSynthetic false + simple-name MathGame + modifier public + annotation + interfaces + super-class +-java.lang.Object + class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69 + +-sun.misc.Launcher$ExtClassLoader@66350f69 + classLoaderHash 3d4eac69 + fields modifierprivate,static + type java.util.Random + name random + value java.util.Random@522b4 + 08a + + modifierprivate + type int + name illegalArgumentCount + + + Affect(row-cnt:1) cost in 19 ms. + ``` \ No newline at end of file