Visual Studio Extension สำหรับการแสดงภาพเค้าโครงหน่วยความจำโครงสร้าง C ++
ดาวน์โหลดล่าสุดจาก Visual Studio Marketplace 2022
ดาวน์โหลดล่าสุดจาก Visual Studio Marketplace 2019
ในภาษา C++ เค้าโครงโครงสร้างอาจได้รับผลกระทบจากปัจจัยที่แตกต่างกัน เพื่อสร้างโค้ดที่เน้นแคชข้อมูลที่มีประสิทธิภาพหรือลดขนาดหน่วยความจำของโครงสร้าง สิ่งสำคัญคือต้องคำนึงถึงเลย์เอาต์ของคลาสในจุดเดียวกับที่สร้าง อัพเดต ลบออก หรือดีบั๊ก ส่วนขยายนี้ช่วยให้โปรแกรมเมอร์เห็นภาพโครงสร้างของตนภายใน Visual Studio ได้ในคลิกเดียว
คลิกขวาที่ด้านบนของคำจำกัดความโครงสร้าง C++ และเลือก แสดงเค้าโครงโครงสร้าง (หรือกด Alt+L ) เพื่อให้เห็นภาพเค้าโครงหน่วยความจำ
ในโหมดการแสดงภาพนี้ ประเภทที่มีลูกจะซ้อนกันเพื่อให้สามารถนำทางเข้าและออก และเข้าใจโครงสร้างโดยรวมได้ดีขึ้น
โหมดแบนจะข้ามทุกกลุ่มและแสดงเพียงเลเยอร์เดียว ทำให้มีมุมมองที่กะทัดรัดยิ่งขึ้น
เค้าโครงโครงสร้างสามารถใช้ระบบที่แตกต่างกันเพื่อแยกวิเคราะห์ไฟล์ C++ และแยกข้อมูลเค้าโครงหน่วยความจำ ขึ้นอยู่กับความซับซ้อนและลักษณะเฉพาะของระบบบิลด์และการตั้งค่า Visual Studio ทางเลือกหนึ่งจะน่าเชื่อถือมากกว่าตัวเลือกอื่น ๆ วิธีการที่ใช้สามารถเปลี่ยนแปลงได้ในหน้าต่างตัวเลือกส่วนขยาย
เมื่อมีการร้องขอเค้าโครงส่วนขยายจะดำเนินการดังต่อไปนี้:
วิธีนี้จะประมวลผลตำแหน่งไฟล์ผ่านไฟล์ปฏิบัติการ Clang LibTooling ซึ่งจะแยกวิเคราะห์ไฟล์และส่วนหัวปัจจุบัน วิธีนี้สามารถให้ผลลัพธ์ที่แม่นยำมากเนื่องจากดึงข้อมูลโดยตรงจาก Clang AST แต่จะต้องมีบริบทการสร้างที่แน่นอนเพื่อให้สามารถเข้าใจโค้ดทั้งหมดได้อย่างถูกต้อง
เมื่อมีการเรียกใช้แบบสอบถามไปยัง clang libtooling ส่วนขยายจะพยายามรวบรวมข้อมูลต่อไปนี้จากโปรเจ็กต์และการกำหนดค่าที่ใช้งานอยู่:
วิธีการนี้ใช้ประโยชน์จากข้อเท็จจริงที่ว่า pdb (Program DataBase) มักจะประกอบด้วยข้อมูลโครงร่างทั้งหมดสำหรับประเภทที่ผู้ใช้กำหนดทั้งหมด แอปพลิเคชันนี้ใช้ DIA SDK (Debug Interface Access) เพื่อเปิดและสอบถาม pdb ระบบนี้จะมีประโยชน์หากการตั้งค่าของเราไม่พร้อมที่จะคอมไพล์ด้วยคอมไพเลอร์ Clang ระบบบิลด์ค่อนข้างซับซ้อนในการกดปุ่มบางกรณี หรือเรามีโค้ดเฉพาะของ MSVC ข้อแม้คือเราจะต้องรวบรวมโปรเจ็กต์ก่อนที่จะดำเนินการค้นหาใดๆ เพื่อรักษา pdbs ให้ทันสมัยอยู่เสมอ
โปรเจ็กต์นี้เปิดให้ร่วมสนับสนุนโค้ด
หากคุณพบว่าส่วนขยายนี้มีประโยชน์ คุณสามารถซื้อกาแฟหนึ่งแก้วให้ฉันได้ตลอดเวลา