JetBrains JVM Debugger Memory View plugin
在我最近的研發活動期間尋找新的工具,以提高我的開發經驗,使Android Studio的生活更輕鬆,我發現一個有用的插件,我從來沒有聽說過。 這就是為什麼,我決定寫這個強大的工具,它如何幫助我與內存調試我的應用程序。
What is the plugin about?
根據plugin page:
此插件擴展了內置的JVM調試器,具有在調試會話期間觀察JVM堆中的對象的功能。
內存視圖按照類名稱分組來顯示堆中的對象總數。
當你一步步調試代碼時, “Diff”列顯示調試器停靠點(debugger stops也就是debug點)之間對像數量的變化。 這種方式你可以很容易地看到你的步進代碼如何影響堆。
雙擊類名稱,打開一個包含該類實例的對話框。 該對話框允許您通過計算表達式過濾實例。 所有調試器操作(如檢查,標記對象,評估表達式,添加到觀察等)都可以應用於此對話框中的實例。
How to install this wonderful plugin?
打開Android StudioPlugins頁面:
按Install jetBrains plugin…按鈕,搜索JVM Debugger Memory View然後Install。
裝完重新啟動Android Studio。
At first glance:
回到Android Studio後,您會發現Memory View Tool Window已經添加到工具欄的右側。
Memory View Tool Window
內存視圖工具窗口
如果沒有看到內存視圖,打開工具窗口,使用主菜單:View→Tool Windows→Memory View。
首先,這個工具只有在打了調試斷點並在debug模式運行期間才會顯示數據。
其次,我要提到的是,我閱讀了Android Studio可能會發生的一些警告和錯誤,不過,我並沒有碰到過。
警告:Android Studio版本包含以下限制:
Let's debug!
在調試模式下運行應用程序並在BreakPoint上暫停後,您會看到很神奇的畫面:
這個表讓我們最感興趣的地方是Diff”列,當你一步步調試代碼行時,你將看到會有多少新的對象實例被創建或銷毀!
我想尋找我自己的對象(即ProfileModel類),所以我搜索它:
正如你可以看到我已經在這行代碼更新了ProfileModel vairable,在GC刪除舊對象之前我得到差異是+1 ,也可以訪問之前不可能訪問到的舊的對象。 通過雙擊這條記錄,我將在窗口中獲取ProfileModel類的實例:
此窗口還允許你使用類方法通過計算的表達式過濾實例,例如,您可以使用OkHttp Response類的isSuccessful方法來過濾篩選在內存中加載不成功的響應:
實例過濾器功能
另一個有用的功能是跟踪新實例,您可以通過Memory View Tool窗口中的右鍵菜單啟用:
此功能可幫助您跟踪已生成類的新實例的代碼!
以上所述是小編給大家介紹的IDEA內存調試插件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!