IDEA內(nèi)存調(diào)試插件(好用)

JetBrains JVM Debugger Memory View plugin
在我最近的研發(fā)活動期間尋找新的工具,以提高我的開發(fā)經(jīng)驗,使Android Studio的生活更輕松,我發(fā)現(xiàn)一個有用的插件,我從來沒有聽說過。 這就是為什么,我決定寫這個強大的工具,它如何幫助我與內(nèi)存調(diào)試我的應用程序。
What is the plugin about?
根據(jù) plugin page :
此插件擴展了內(nèi)置的JVM調(diào)試器,具有在調(diào)試會話期間觀察JVM堆中的對象的功能。
內(nèi)存視圖按照類名稱分組來顯示 堆中的對象總數(shù) 。
當你一步步調(diào)試代碼時, “Diff”列顯示調(diào)試器??奎c(debugger stops也就是debug點)之間對象數(shù)量的變化 。 這種方式你可以很容易地看到你的步進代碼如何影響堆。
雙擊類名稱,打開一個包含該類實例的對話框。 該對話框允許您 通過計算表達式過濾實例 。 所有調(diào)試器操作(如檢查,標記對象,評估表達式,添加到觀察等)都可以應用于此對話框中的實例。
How to install this wonderful plugin?
打開Android Studio Plugins 頁面:
- 快捷鍵: 按 command/ ctrl + shift + A, 類型 插件 隨后,按 enter 鍵:
- 或打開 Preferences/Settings: (Mac:Android Studio - >Preferences / Windows和Linux:File - >Settings)并找到 Plugins 頁面:

按 Install jetBrains plugin… 按鈕,搜索 JVM Debugger Memory View 然后 Install 。

裝完重新啟動Android Studio。
At first glance:
回到Android Studio后,您會發(fā)現(xiàn) Memory View Tool Window 已經(jīng)添加到工具欄的右側(cè)。

Memory View Tool Window
內(nèi)存視圖工具窗口
如果沒有看到內(nèi)存視圖,打開工具窗口,使用主菜單: View → Tool Windows → Memory View。
首先,這個工具只有在打了調(diào)試斷點并在 debug模式 運行期間才會顯示數(shù)據(jù)。
其次,我要提到的是,我閱讀了Android Studio可能會發(fā)生的一些警告和錯誤,不過,我并沒有碰到過。
警告:Android Studio版本包含以下限制:
- 由于Android內(nèi)存限制,獲取大量的實例可能會失敗,并會停止VM。
- Android Studio可能會停止響應,請參閱 此錯誤
Let's debug!
在調(diào)試模式下運行應用程序并在BreakPoint上暫停后,您會看到很神奇的畫面:

這個表讓我們最感興趣的地方是 Diff ”列,當你一步步調(diào)試代碼行時,你將看到會有多少新的對象實例被創(chuàng)建或銷毀!
我想尋找我自己的對象 (即ProfileModel類) ,所以我搜索它:

正如你可以看到我已經(jīng)在這行代碼更新了ProfileModel vairable,在GC刪除舊對象之前我得到差異是+1 ,也可以訪問之前不可能訪問到的舊的對象。 通過雙擊這條記錄,我將在窗口中獲取ProfileModel類的實例:

此窗口還允許你使用類方法通過計算的表達式過濾實例,例如,您可以使用 OkHttp Response 類的 isSuccessful 方法來過濾篩選在內(nèi)存中加載不成功的響應:

實例過濾器功能
另一個有用的功能是跟蹤新實例,您可以通過Memory View Tool窗口中的右鍵菜單啟用:

此功能可幫助您跟蹤已生成類的新實例的代碼!

以上所述是小編給大家介紹的IDEA內(nèi)存調(diào)試插件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
SpringBoot管理RabbitMQ中的Channel詳解
這篇文章主要介紹了SpringBoot管理RabbitMQ中的Channel詳解,channel僅存在于connection的上下文中,而不會單獨存在,當channel關閉時,其上的所有channel也會關閉,需要的朋友可以參考下2023-08-08
java結(jié)合WebSphere MQ實現(xiàn)接收隊列文件功能
WebSphereMQ,也稱MQSeries,以一致的、可靠的和易于管理的方式來連接應用程序,并為跨部門、企業(yè)范圍的集成提供了可靠的基礎。通過為重要的消息和事務提供可靠的、一次且僅一次的傳遞,MQ可以處理復雜的通信協(xié)議,并動態(tài)地將消息傳遞工作負載分配給可用的資源。2015-10-10
SSM框架下如何實現(xiàn)數(shù)據(jù)從后臺傳輸?shù)角芭_
這篇文章主要介紹了SSM框架下如何實現(xiàn)數(shù)據(jù)從后臺傳輸?shù)角芭_,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
SpringBoot集成ElasticSearch實現(xiàn)minio文件內(nèi)容全文檢索
這篇文章詳細介紹了如何在Spring?Boot項目中集成Elasticsearch和Kibana,包括Docker安裝、中文分詞器安裝、后端代碼實現(xiàn)以及前端查詢組件封裝,需要的朋友可以參考下2024-11-11

