原文:java 定位問題方法 (jdb 和 jstack)

使用java 做開發,大部分的朋友都是利用DIE 來做debug 工作,因為這樣可視化效果好。 但是在真實的工作中,很多使用遇到問題,手頭或者環境是不允許你利用DIE 來對源碼做debug 工作,開發者只能夠利用僅有的jdk 環境和shell 環境,對出現問題的程序進行debug。 本篇文章主要是向大家介紹,如何利用jdk 自帶的 jdb 和jstack 來定位問題。 jdb 首先jdb 是一款類 ...

2018-11-21 14:54 0 966 推薦指數:

查看詳情

jstack+jdb命令查看線程及死鎖堆棧信息

如果程序掛死,有時使用jstack查看進程中線程信息時,需要添加上-F參數,此時如果有死鎖信息,則可能不會打印出死鎖堆棧信息,使用jdb則可以查看當前死鎖線程的運行堆棧。 如下模擬一個簡單的死鎖程序 獲取pid 假設當前不能直接連接27709虛擬機,需要使用參數-F ...

Thu Aug 08 01:36:00 CST 2019 0 787
JVM監控工具介紹jstack, jconsole, jinfo, jmap, jdb, jsta

JVM監控工具介紹 jstack — 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還可以附屬到正在運行的java程序中 ...

Wed Sep 26 23:46:00 CST 2018 0 2874
利用jstack定位典型性能問題實例

此文已由作者朱笑天授權網易雲社區發布。 歡迎訪問網易雲社區,了解更多網易技術產品運營經驗。 問題的起因是筆者在一輪性能測試的中,發現某協議的響應時間很長,去觀察哨兵監控里的javamethod監控可以看到以下結果: onMessage是該協議的總入口,可以看到該協議平均耗時 ...

Thu Nov 01 17:56:00 CST 2018 0 2351
jstack簡單使用,定位死循環、線程阻塞、死鎖等問題

當我們運行java程序時,發現程序不動,但又不知道是哪里出問題時,可以使用JDK自帶的jstack工具去定位; 廢話不說,直接上例子吧,在window平台上的; 死循環 寫個死循環的程序如下: 先運行以上程序,程序進入死循環; 打開cmd,輸入jps命令,jps很簡單 ...

Mon Apr 11 18:48:00 CST 2016 5 30793
使用JDB調試Java程序

Java程序中有邏輯錯誤,就需要使用JDB來進行調試了。調試程序在IDE中很方便了,比如這篇博客介紹了在Intellj IDEA中調試Java程序的方法。 我們課程內容推薦在Linux環境下學習,有同學問如何在命令行下調試Java程序,我們就要使用JDB了。 學習建議:Linux Bash下 ...

Tue Feb 07 01:47:00 CST 2017 6 22095
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM