Jetbrains JVM Debugger Memory View Memory View Plugin
กำลังมองหาเครื่องมือใหม่ในระหว่างกิจกรรมการวิจัยและพัฒนาล่าสุดของฉันเพื่อปรับปรุงประสบการณ์การพัฒนาของฉันและทำให้ชีวิตกับ Android Studio ง่ายขึ้นฉันพบปลั๊กอินที่มีประโยชน์ที่ฉันไม่เคยได้ยินมาก่อน นั่นเป็นเหตุผลที่ฉันตัดสินใจเขียนเครื่องมือที่ทรงพลังนี้และวิธีที่มันช่วยให้ฉันดีบักแอปพลิเคชันของฉันด้วยหน่วยความจำ
ปลั๊กอินเกี่ยวกับอะไร?
ตามหน้าปลั๊กอิน:
ปลั๊กอินนี้ขยายตัวดีบั๊ก JVM ในตัวพร้อมกับความสามารถในการสังเกตวัตถุในกอง JVM ในระหว่างการดีบัก
มุมมองหน่วยความจำถูกจัดกลุ่มตามชื่อคลาสเพื่อแสดง จำนวนวัตถุทั้งหมดในฮีป
เมื่อคุณดีบักรหัสทีละขั้นตอนคอลัมน์ "DIFF" จะแสดงการเปลี่ยนแปลงจำนวนวัตถุระหว่างการหยุดดีบักหยุด (Debugger หยุดนั่นคือจุดดีบัก) วิธีนี้คุณสามารถดูได้อย่างง่ายดายว่ารหัสการก้าวของคุณมีผลต่อกอง
ดับเบิลคลิกที่ชื่อคลาสเพื่อเปิดกล่องโต้ตอบที่มีอินสแตนซ์ของคลาส กล่องโต้ตอบนี้ช่วยให้คุณ สามารถกรองอินสแตนซ์โดยการคำนวณที่คำนวณได้ การกระทำของดีบักเกอร์ทั้งหมด (เช่นการตรวจสอบการทำเครื่องหมายวัตถุการประเมินการแสดงออกการเพิ่มการสังเกต ฯลฯ ) สามารถนำไปใช้กับอินสแตนซ์ในกล่องโต้ตอบนี้
จะติดตั้งปลั๊กอินที่ยอดเยี่ยมนี้ได้อย่างไร?
เปิดหน้า Android StudioPlugins:
กดปุ่มติดตั้ง Jetbrains ปลั๊กอิน ... ค้นหามุมมองหน่วยความจำ JVM Debugger และติดตั้ง
รีสตาร์ทสตูดิโอ Android หลังจากการติดตั้ง
เมื่อมองแวบแรก:
หลังจากกลับไปที่ Android Studio คุณจะพบว่าหน้าต่างเครื่องมือมุมมองหน่วยความจำได้ถูกเพิ่มไปทางด้านขวาของแถบเครื่องมือ
หน้าต่างเครื่องมือมุมมองหน่วยความจำ
หน้าต่างเครื่องมือมุมมองหน่วยความจำ
หากคุณไม่เห็นมุมมองหน่วยความจำให้เปิดหน้าต่างเครื่องมือและใช้เมนูหลัก: ดู→เครื่องมือหน้าต่าง→มุมมองหน่วยความจำ
ขั้นแรกเครื่องมือนี้จะแสดงข้อมูลเฉพาะเมื่อมีการตั้งค่าเบรกพอยต์ดีบั๊กและเรียกใช้ระหว่างโหมดดีบัก
ประการที่สองฉันจะพูดถึงว่าฉันได้อ่านคำเตือนและข้อผิดพลาดบางอย่างที่สามารถเกิดขึ้นได้กับ Android Studio แต่ฉันไม่ได้พบมัน
คำเตือน: เวอร์ชันสตูดิโอ Android มีข้อ จำกัด ต่อไปนี้:
มาดีบั๊กกันเถอะ!
หลังจากเรียกใช้แอปพลิเคชันในโหมดดีบักและหยุดพักบนเบรกพอยต์คุณจะเห็นภาพวิเศษ:
สิ่งที่เราสนใจมากที่สุดคือคอลัมน์ Diff เมื่อคุณดีบักบรรทัดของรหัสทีละขั้นตอนคุณจะเห็นจำนวนอินสแตนซ์วัตถุใหม่ที่จะสร้างหรือทำลาย!
ฉันต้องการค้นหาวัตถุของตัวเอง (เช่นคลาส ProfileModel) ดังนั้นฉันจึงค้นหา:
อย่างที่คุณเห็นว่าฉันได้อัปเดต profileModel vaireable ในรหัสบรรทัดนี้ก่อนที่ GC จะลบวัตถุเก่าที่ฉันได้รับความแตกต่างคือ +1 และยังสามารถเข้าถึงวัตถุเก่าที่เป็นไปไม่ได้มาก่อน โดยการคลิกสองครั้งในบันทึกนี้ฉันจะได้รับอินสแตนซ์ของคลาส ProfileModel ในหน้าต่าง:
หน้าต่างนี้ยังช่วยให้คุณกรองอินสแตนซ์โดยการคำนวณโดยใช้วิธีการเรียน ตัวอย่างเช่นคุณสามารถใช้วิธีการที่ไม่สำเร็จของคลาสการตอบกลับ OKHTTP เพื่อกรองการตอบสนองที่ไม่ประสบความสำเร็จในการโหลดหน่วยความจำ:
ฟังก์ชันตัวกรองอินสแตนซ์
คุณสมบัติที่มีประโยชน์อีกประการหนึ่งคือการติดตามอินสแตนซ์ใหม่ซึ่งคุณสามารถเปิดใช้งานผ่านเมนูคลิกขวาในหน้าต่างเครื่องมือมุมมองหน่วยความจำ:
คุณสมบัตินี้ช่วยให้คุณติดตามรหัสสำหรับอินสแตนซ์ใหม่ของคลาสที่สร้างขึ้น!
ด้านบนเป็นปลั๊กอินการดีบักหน่วยความจำ IDEA ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!