软件指南针:专注于软件传播与分享

JDK工具jstack用法详解

来源:原创 2650次浏览 0条评论
☞ 本文主要介绍软件Java的相关内容:JDK工具jstack用法详解

   其下列版本/分支可以参考本文:

  • 全部版本/分支

jstack,是一个堆栈跟踪工具,主要用于打印指定Java进程、核心文件或远程调试服务器的Java线程的堆栈跟踪信息。

用法摘要

#指定进程号(pid)的进程
jstack [ option ] <pid>
#指定核心文件
jstack [ option ] <executable <core>
#指定远程调试服务器
jstack [ option ] [server-id@]<remote-hostname-or-IP>

参数

option
选项参数是互斥的(不可同时使用)。想要使用选项参数,直接跟在命令名称后即可。
pid
需要打印配置信息的进程ID。该进程必须是一个Java进程。想要获取运行的Java进程列表,你可以使用jps。
executable
产生核心dump的Java可执行文件。
core
需要打印配置信息的核心文件。
remote-hostname-or-IP
远程调试服务器的(请查看jsadebugd)主机名或IP地址。
server-id
可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。

描述

jstack打印给定Java进程或核心文件、远程调试服务器的Java线程的堆栈跟踪信息。对于每个Java帧而言,jstack将打印类名全称、方法名称、'bci'(byte code index/字节码索引)和行号中可用的信息。使用-m选项,jstack会打印随着'pc'(program counter/程序计数器)而变化的所有线程的Java帧和本地帧。对于每个本地帧而言, 将打印离'pc'最近的本地符号(如果可用的话)。C++ mangled names are not demangled.To demangle C++ names, the output of this command may be piped to c++filt. 

注意 - 此工具是不受支持的,无法确定在未来版本的JDK中是否可用。jstack目前不适用于Windows平台或Linux安腾平台。

选项

-m
打印混合模式(Java和本地C/C++帧)的堆栈跟踪信息。
-h
打印帮助信息。
-help
打印帮助信息。

另请参阅

已知的bug

混合模式的堆栈跟踪信息,即-m选项,无法在远程调试服务器上工作。

作者:软件指南针(http://www.softown.cn),转载请保留出处!

用户评论

使用指南 故障排除 0 返回顶部