แก้ไขปัญหา Memory Leaks ด้วย Chrome DevTools MCP 1.7

เลิกส่งไฟล์ heap-snapshot ขนาดมหึมาให้กับ AI assistant ของคุณเสียที เพราะไฟล์เหล่านั้นจะทำให้ context window เต็มและทำให้ AI คาดเดาผิดพลาด

Chrome DevTools MCP 1.7 ช่วยให้ AI agent สามารถ debug หน่วยความจำได้โดยไม่ต้องไล่ดูข้อมูลดิบ (raw data) เครื่องมือใหม่นี้จะช่วยระบุตำแหน่งของ leak ได้โดยตรง

ฟีเจอร์ใหม่ในเวอร์ชัน 1.7

  • เครื่องมือ Object-details แสดง metadata ที่แม่นยำ
  • Summaries แสดงรายการ native contexts และขนาดของแต่ละรายการ
  • Filters ช่วยแยกเฉพาะ object ที่เลือก
  • Agent ได้รับการอัปเกรดตรรกะการตรวจจับ leak (leak-detection logic)
  • Diagnostic workers ทำความสะอาดข้อมูลได้น่าเชื่อถือยิ่งขึ้น

โปรโตคอลแบบ Three-snapshot

  1. บันทึก baseline snapshot
  2. ทำการกระทำที่สงสัยว่าทำให้เกิดปัญหา 10 ครั้ง จากนั้นบันทึก target snapshot
  3. ทำการกระทำย้อนกลับ (reverse the action) และบันทึก snapshot สุดท้าย

จะยืนยันได้ว่าเกิด leak ก็ต่อเมื่อหน่วยความจำยังคงอยู่ในระดับสูงใน snapshot สุดท้ายเท่านั้น

ขั้นตอนการทำงาน (Workflow)

  • เปรียบเทียบ summaries เพื่อดูการเพิ่มขึ้นของข้อมูล
  • ระบุ class ที่มีการสะสมหน่วยความจำมากที่สุด
  • ระบุเจ้าของ (page, frame หรือ context)
  • เจาะลึกไปยัง object instances เฉพาะเจาะจงและเส้นทางการถือครอง (retaining paths) ของมัน
  • แก้ไขจุดเชื่อมต่อแรกในสายโซ่ (chain) ที่ชี้กลับมายังโค้ดของคุณ

ข้อควรระวังที่พบบ่อย

  • ห้ามเปลี่ยน build หรือจำนวนรอบการวนลูป (loop count) ระหว่างการทำ snapshot
  • อย่ามองว่า string ขนาดใหญ่ทุกตัวคือ leak
  • ปิดแต่ละ snapshot เมื่อใช้งานเสร็จแล้ว
  • ห้ามข้ามขั้นตอนการทำ reverse-action โดยเด็ดขาด

วิธีการนี้สามารถใช้งานได้กับ Claude Code, Cursor, Copilot หรือ AI agent ใดๆ ที่รองรับ MCP ในการจัดการกับปัญหาหน่วยความจำของ browser หรือ Node.js

แหล่งที่มา: https://github.com/ChromeDevTools/chrome-devtools-mcp/releases/tag/chrome-devtools-mcp-v1.7.0

ชุมชนเพื่อการเรียนรู้ (ไม่บังคับ): https://t.me/GyaanSetuAi