将CRaSH shell 附加到正在运行的 java 进程后,使用
> crash.bat pid
用JDK启动CRaSH,调用help命令返回错误
% 帮助
帮助:异常:NullPointerException
这意味着这些命令没有被编译。尽管使用 JDK 启动 CRaSH shell,为什么会发生这种情况?
将CRaSH shell 附加到正在运行的 java 进程后,使用
> crash.bat pid
用JDK启动CRaSH,调用help命令返回错误
% 帮助
帮助:异常:NullPointerException
这意味着这些命令没有被编译。尽管使用 JDK 启动 CRaSH shell,为什么会发生这种情况?
正如正确指出的,CRaSH shell 必须使用 JDK 运行,因为它需要 Java 编译器。
附加CRaSH shell 时也需要这样做。来自CRaSH 参考文档:“CRaSH 将挂接到目标 JVM 而不是 CRaSH 启动的 JVM”
TL;博士
附加 CRaSH shell 的进程必须使用 JDK 运行!