TroubleshootingGuide for JavaTM SE 6withHotSpot TM VM (翻译附录未完待续)2规格严格

TroubleshootingGuide for JavaTM SE 6withHotSpot TM VM (翻译附录未完待续)2规格严格,第1张

C.4 线程部分格式

本节主要描述当JVM crash时候线程的信息。如果多线程在同一时刻crash,只有一个线程的信息会被打印出来。

C.4.1 线程信息
线程部分第一部分描述了引起严重错误的线程信息,如下所示:
Current thread (0x0805ac88): JavaThread "main" [_thread_in_native, id=21139]
                    |             |             |             |                 +-- ID线程ID
                    |             |            |             +------------- state线程状态
                    |             |            +-------------------------- name线程名称
                    |             +------------------------------------ type线程类型
                    +--------------------------------------------------pointer计数器

线程计数器是指向JVM内部线程结构,如果你不想调试正在运行的JVM或者core文件的话,则该指针没有什么用处。

下面列出了可能的JVM线程类型
JavaThread
VMThread
CompilerThread
GCTaskThread
WatcherThread
ConcurrentMarkSweepThread        

译注:具体线程含义还需要查看Oracle官方文档,但是具体也能见名知意。

下面列举了线程可能的状态:
线程                    描述
_thread_uninitialized   线程没有创建,这只会出现在内存错误的前提下
_thread_new             线程被创建了,但是没有被start
_thread_in_native       线程运行在本地方法中,这意味着可能在本地代码存在Bug
_thread_in_vm           线程运行JVM代码
_thread_in_Java         线程运行在解释模式或者编译模式Java代码
_thread_blocked         线程被阻塞
_thread_trans           如果上面任何状态后面跟着这个标志,意味着线程在改变运行状态

在该输出中的线程ID代表一个本地线程标识(注:这应该jmm里面的,目前没到那种程度分析)
如果Java线程是dameon的话,则dameon会在线程状态前打印

C.4.2 信号信息
在错误日志下一部分信息是导致JVM终止的信号信息,在Windows平台下,输出如下所示:
siginfo: ExceptionCode=0xc0000005, reading address 0xd8ffecf1
在上述例子中,错误码是0xc0000005(ACCESS_VIOLATION),并且错误发生在线程试图读取地址
0xd8ffecf1
在Solaris或者Linux系统中,信号数字和信号码(这个有点糊涂)被用来识别异常信息,如下所示:
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00004321

C.4.3 寄存器内容
错误日志的下一部分描述了错误发生时候寄存器的内容,具体输出格式和硬件架构相关,下面的例子描述在IA32下的输出内容:

Registers:
EAX=0x00004321, EBX=0x41779dc0, ECX=0x080b8d28, EDX=0x00000000
ESP=0xbfffc1e0, EBP=0xbfffc1f8, ESI=0x4a6b9278, EDI=0x0805ac88
EIP=0x417789d7, CR2=0x00004321, EFLAGS=0x00010216

寄存器内容可以和即将描述的指令结合起来,这是十分有用的对于指令排查

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/2089309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存