From 6582ab87c080e317e1674e3fd5de68617a5bc925 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Fri, 12 Dec 2025 21:36:03 +0800 Subject: [PATCH] fix: throwable.printStackTrace not removed in debug off mode --- .../com/reajason/javaweb/buddy/LogRemoveMethodVisitor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/memshell-party-common/src/main/java/com/reajason/javaweb/buddy/LogRemoveMethodVisitor.java b/memshell-party-common/src/main/java/com/reajason/javaweb/buddy/LogRemoveMethodVisitor.java index 3b06622c..b07bff11 100644 --- a/memshell-party-common/src/main/java/com/reajason/javaweb/buddy/LogRemoveMethodVisitor.java +++ b/memshell-party-common/src/main/java/com/reajason/javaweb/buddy/LogRemoveMethodVisitor.java @@ -47,7 +47,8 @@ public class LogRemoveMethodVisitor implements AsmVisitorWrapper.ForDeclaredMeth @Override public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface) { if ((opcode == INVOKEVIRTUAL && owner.equals("java/io/PrintStream") && name.equals("println")) - || (opcode == INVOKEVIRTUAL && owner.endsWith("Exception") && name.equals("printStackTrace")) + || (opcode == INVOKEVIRTUAL && owner.endsWith("Exception") && name.equals("printStackTrace") && descriptor.equals("()V")) + || (opcode == INVOKEVIRTUAL && owner.equals("java/lang/Throwable") && name.equals("printStackTrace") && descriptor.equals("()V")) || (opcode == INVOKEVIRTUAL && owner.equals("java/util/logging/Logger") && (name.equals("info") || name.equals("warning"))) ) { String[] args = descriptor.substring(1, descriptor.indexOf(')')).split(";");