如何在jcmd <pid> VM.info”输出中获取有关“内部异常”的更多详细信息

时间:2019-04-05 08:57:41

标签: clojure jvm

我已经在运行于Docker容器中的Clojure应用程序上运行了jcmd <pid> VM.info诊断命令-这是基本的系统信息:

# JRE version: OpenJDK Runtime Environment (11.0.1+13) (build 
11.0.1+13-Ubuntu-3ubuntu3.18.10.1)
# Java VM: OpenJDK 64-Bit Server VM (11.0.1+13-Ubuntu-3ubuntu3.18.10.1, 
mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)

我注意到的一件事是Internal exceptions (10 events)部分,在这里我发现了以下异常的几个实例:

Classes redefined (0 events):
No events

Internal exceptions (10 events):
Event: 4103.838 Thread 0x00007f800400c800 Exception <a 'java/lang/ClassCastException'{0x00000000c78ba0b0}: class clojure.lang.Keyword cannot be cast to class java.lang.CharSequence (clojure.lang.Keyword is in unnamed module of loader 'app'; java.lang.CharSequence is in module java.base of loader
...

现在我想知道这些“内部异常”到底是什么。 那是在我的应用程序代码中抛出的东西,也许被默默地忽略了吗? 我可以获取有关它们的更多信息(也许是堆栈跟踪)吗?

我试图深入研究JDK源代码,但是找不到关于“内部异常”的太多细节。 我发现的唯一内容是VMError::print_vm_info方法中的events.cpp方法和相关的_exceptions字段

0 个答案:

没有答案