ملحق Visual Studio لتصور تخطيط ذاكرة بنية C++
قم بتنزيل الأحدث من Visual Studio Marketplace 2022
قم بتنزيل الأحدث من Visual Studio Marketplace 2019
في لغة C++، يمكن أن يتأثر تخطيط البنية بعوامل مختلفة. من أجل إنتاج تعليمات برمجية موجهة لذاكرة التخزين المؤقت للبيانات أو تقليل أثر ذاكرة البنية، من المهم أن تكون على دراية بتخطيطات الفئة في نفس المكان الذي يتم فيه إنشاء التعليمات البرمجية أو تحديثها أو إزالتها أو تصحيح أخطائها. يسمح هذا الامتداد للمبرمجين بتصور بنياتهم داخل Visual Studio بنقرة واحدة فقط.
انقر بزر الماوس الأيمن فوق أي تعريف لبنية C++ وحدد Show Struct Layout (أو اضغط على Alt+L ) لتصور تخطيط الذاكرة.
في وضع التصور هذا، يتم تجميع الأنواع التي بها أطفال للسماح بالتنقل داخل وخارج المنزل والحصول على فكرة أفضل عن البنية العامة.
يتخطى الوضع المسطح جميع المجموعات ويظهر طبقة واحدة فقط، مما ينتج عنه عرض أكثر إحكاما.
يمكن أن يستخدم Struct Layout أنظمة مختلفة لتحليل ملفات C++ واستخراج معلومات تخطيط الذاكرة. اعتمادًا على التعقيد والمراوغات في نظام البناء وإعداد Visual Studio، سيكون أحد الخيارات أكثر ملاءمة من الخيارات الأخرى. يمكن تغيير الطريقة المستخدمة في نافذة خيارات الامتداد
عند إجراء طلب تخطيط، يقوم الملحق بما يلي:
ستقوم هذه الطريقة بمعالجة موقع الملف من خلال ملف Clang LibTooling القابل للتنفيذ والذي سيقوم بتحليل الملف الحالي والرؤوس. يمكن أن تعطي هذه الطريقة نتائج دقيقة حقًا لأنها تسترد البيانات مباشرة من Clang AST ولكنها ستحتاج إلى سياق البناء الدقيق لتتمكن من فهم جميع التعليمات البرمجية بشكل صحيح.
عندما يتم تشغيل استعلام إلى clang libtooling، سيحاول الامتداد جمع البيانات التالية من المشروع النشط والتكوين:
تستفيد هذه الطريقة من حقيقة أن pdb (قاعدة بيانات البرنامج) ستحتوي على الأرجح على كافة معلومات التخطيط لجميع الأنواع التي يحددها المستخدم. يستخدم هذا التطبيق DIA SDK (الوصول إلى واجهة التصحيح) لفتح ملف pdb والاستعلام عنه. يمكن أن يكون هذا النظام مفيدًا إذا لم يكن إعدادنا جاهزًا للتجميع باستخدام مترجم Clang، أو كان نظام البناء معقدًا للغاية ويصل إلى بعض الحالات الزاوية أو كان لدينا بعض التعليمات البرمجية الخاصة بـ MSVC. التحذير هو أننا سنحتاج إلى تجميع المشاريع قبل إجراء أي استعلامات مع الحفاظ على تحديث pdbs.
هذا المشروع مفتوح لمساهمات التعليمات البرمجية.
إذا وجدت هذا الامتداد مفيدًا، فيمكنك دائمًا أن تشتري لي فنجانًا من القهوة.