Arthas是Alibaba開源的java診斷工具?
解決問題
- ? ? ? ? 這個類從哪個jar 包加載的?為什么會報各種相關的Exception?
- ? ? ? ? 遇到問題無法在線上debug,不能直通過加載日志再重新發布
- ? ? ? ? 有什么辦法可以監控到JVM的實時運行狀態?
- ? ? ? ? 我改的代碼沒有執行到,難道分支錯了?
- ? ? ? ? 線上遇到某個用戶的數據處理有問題,但線上無法debug且線下無法重現
- ? ? ? ? 是否有一個全局視角來查看系統的運行狀況
- ? ? ? ? 怎么快速定位應用的熱點,生成火焰圖?
- ? ? ? ? 怎樣直接從JVM內查找某個類的實例?
運行環境要求
支持JDK6以上,支持linux、mac、windows,采用命令行交互模式,提供豐富的Tab自動補全功能。
安裝
1.下載jar包:
?2.啟動:
java -jar arthas-boot.jar
選擇需要監控的進程
dashborad命令
?
jad 命令
jad+ 類的全限定名,反編譯字節碼文件 將class-> java?
watch 命令
查看函數的返回值、參數、異常信息
watch? + 全定名 + 方法名 + params 查看參數
?watch? + 全定名 + 方法名 + returnObj 查看返回值
watch? + 全定名 +方法名 + throwExp?查看拋出的異常對象
watch? + 全定名 +方法名 + {params,returnObj} 同時查看參數和返回值
?其他相關命令可看官方文檔:
命令列表 | arthas
?idea arthas插件
使用插件快速生成命令:
例如生成watch命令