3
环境信息
arthas-boot.jar 或者 as.sh 的版本: master
Arthas 版本: master
操作系统版本: MacOS 11.4
目标进程的JVM版本: JDK 11
执行arthas-boot的版本: JDK 11
重现问题的步骤
通过 https://github.com/alibaba/arthas/issues/222 中描述的方法开启 arthas debug
在 SpyAPI.atExit 中打断点
在 arthas 中执行 watch 命令增强类,此时断点被触发,说明类被增强了
在 arthas 中执行 Ctrl-C 退出 watch 命令,发现断点依旧被触发,说明命令虽然退出了,但增强的类没有被还原。
期望的结果
在命令退出后,增强的类被还原
实际运行的结果增强类没有被还原
额外说明 问题的背景是尝试为 watch 命令增加@AtLine 的支持,但因为 AtLine 增加的字节码较多,在考虑退出后将增强类还原。相关 PR:https://github.com/alibaba/arthas/pull/2076
看到 arthas 里有 reset 命令可以还原所有增强的类。不确定“命令退出后不还原”是不是一个 feature。