JDK內置工具jstack(Java Stack Trace)(轉)


1、介紹

jstack用於打印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息,如果是在64位機器上,需要指定選項"-J-d64",Windows的jstack使用方式只支持以下的這種方式:

jstack [-l] pid

如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還可以附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 如果現在運行的java程序呈現hung的狀態,jstack是非常有用的。

2、命令格式

jstack [ option ] pid
jstack [ option ] executable core
jstack [ option ] [server-id@]remote-hostname-or-IP

3、常用參數說明

1)、options: 
  executable Java executable from which the core dump was produced.
  (可能是產生core dump的java可執行程序)
  core 將被打印信息的core dump文件
  remote-hostname-or-IP 遠程debug服務的主機名或ip
  server-id 唯一id,假如一台主機上多個遠程debug服務 
2)、基本參數:
  -F當’jstack [-l] pid’沒有相應的時候強制打印棧信息
  -l長列表. 打印關於鎖的附加信息,例如屬於java.util.concurrent的ownable synchronizers列表.
  -m打印java和native c/c++框架的所有棧信息.
  -h | -help打印幫助信息
  pid 需要被打印配置信息的java進程id,可以用jps查詢.

 

以上轉自:http://blog.csdn.net/fenglibing/article/details/6411940

 

總結:可能存在這樣一個情況,如果在程序上某個方法異常了,可以通過try catch去捕獲,而如果連JVM都掛了的情況下,這個try catch就沒任何用了。那么現在可以通過jstack去捕獲這些異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM