diff --git a/core/src/main/java/com/taobao/arthas/core/command/klass100/ClassLoaderCommand.java b/core/src/main/java/com/taobao/arthas/core/command/klass100/ClassLoaderCommand.java index 3216e8b764..6a79813610 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/klass100/ClassLoaderCommand.java +++ b/core/src/main/java/com/taobao/arthas/core/command/klass100/ClassLoaderCommand.java @@ -175,7 +175,11 @@ public void process(CommandProcess process) { } if (all) { - processAllClasses(process, inst); + String hashCode = this.hashCode; + if (StringUtils.isBlank(hashCode) && targetClassLoader != null) { + hashCode = "" + Integer.toHexString(targetClassLoader.hashCode()); + } + processAllClasses(process, inst, hashCode); } else if (classLoaderSpecified && resource != null) { processResources(process, inst, targetClassLoader); } else if (classLoaderSpecified && this.loadClass != null) { @@ -305,7 +309,7 @@ private void processLoadClass(CommandProcess process, Instrumentation inst, Clas process.end(); } - private void processAllClasses(CommandProcess process, Instrumentation inst) { + private void processAllClasses(CommandProcess process, Instrumentation inst,String hashCode) { RowAffect affect = new RowAffect(); getAllClasses(hashCode, inst, affect, process); if (checkInterrupted(process)) {