Arthas常用命令

jad

反編譯指定已加載類的源碼

mc

Memory Compiler/內存編譯器,編譯.java文件生成.class。

redefine

加載外部的.class文件,redefine jvm已加載的類。

上面三個命令組合運用,某個功能有問題找到對應類反編譯查看,寫測試類(或直接加日誌),編譯成class文件,運行調試

dump

dump 已加載類的 bytecode 到特定目錄

輸出指定類的堆棧信息

watch

方法執行數據觀測

讓你能方便的觀察到指定方法的調用情況。能觀察到的範圍爲:返回值、拋出異常、入參,通過編寫 OGNL 表達式進行對應變量的查看。

tt

方法執行數據的時空隧道,記錄下指定方法每次調用的入參和返回信息,並能對這些不同的時間下調用進行觀測

watch 雖然很方便和靈活,但需要提前想清楚觀察表達式的拼寫,這對排查問題而言要求太高,因爲很多時候我們並不清楚問題出自於何方,只能靠蛛絲馬跡進行猜測。

這個時候如果能記錄下當時方法調用的所有入參和返回值、拋出的異常會對整個問題的思考與判斷非常有幫助。

trace

方法內部調用路徑,並輸出方法路徑上的每個節點上耗時

stack

輸出當前方法被調用的調用路徑

很多時候我們都知道一個方法被執行,但這個方法被執行的路徑非常多,或者你根本就不知道這個方法是從那裏被執行了,此時你需要的是 stack 命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章