مصحح الأخطاء خارج العملية لـ C ++ في Visual Studio 2019

يقدم Visual Studio 2019 Preview 1 مصحح أخطاء محسّن لـ C ++ يستخدم عملية 64 بت خارجية لاستضافة مكوناته كثيفة الاستخدام للموارد. إذا كنت تواجه مشكلات في الذاكرة أثناء تصحيح أخطاء تطبيقات C ++ ، يجب الآن حل هذه المشكلات إلى حد كبير باستخدام Visual Studio 2019.

فيما يلي مثال عملي لتصحيح أخطاء Gears of War 4.



الخلفية


لإبداء الرأي ، غالبًا ما تحدث مطورو C ++ عن المشكلات المرتبطة باستخدام الذاكرة العالية أثناء تصحيح أخطاء تطبيقات C ++ المعقدة. يرتبط استهلاك ذاكرة كبير بكمية هائلة من بيانات الرموز ، والتي يجب على المصحح تحميلها وعرضها في إطار مصحح الأخطاء. علاوة على ذلك ، فإن كمية هذه المعلومات ينمو باستمرار أثناء العمل. في النهاية ، قد تفشل عملية Visual Studio بسبب نفاد الذاكرة.

لقد أجرينا تحسينات كبيرة في Visual Studio 2017 للتخفيف من هذه المشكلة. على سبيل المثال ، أدخل التحديث 15.6 تحسين الذاكرة لـ / Debug: fastlink ، مما أدى إلى انخفاض بنسبة 30٪ في استهلاك الذاكرة بواسطة المصحح. نظرًا لأننا نسعى جاهدين لتجنب هذه المشكلة في Visual Studio 2019 ، فقد نقلنا مكونات تستهلك الذاكرة إلى عملية منفصلة 64 بت.

دراسة حالة: تصحيح سرعات الحرب 4


لقد عملنا بشكل وثيق مع فرق الشركاء الداخلية والخارجية لضمان التحقق من صحة التغييرات التي أجريناها على مصحح الأخطاء والتحقق من صحتها في التطبيقات الكبيرة الواقعية. أدناه قمنا بتكرار الفيديو من cdpv. يُظهر مقارنة متوازنة لاستخدام الذاكرة بين Visual Studio 2017 و Visual Studio 2019 عند تصحيح أخطاء Gears of War 4 التي طورتها The Coalition. يتم زيادة استخدام الذاكرة لبرنامج Visual Studio 2017 إلى 1.3 جيجابايت بعد بضع دقائق من عرض رمز اللعبة والتحقق من المتغيرات. يوفر Visual Studio 2019 استخدامًا أفضل للذاكرة في نفس السيناريو: يبقى مقدار الذاكرة المستخدمة حوالي 285 ميجابايت ، حيث يتم تخزين بيانات الرمز في سير عمل مصحح أخطاء 64 بت.



كل شيء يعمل الآن أفضل بكثير في وقت التشغيل أيضا.

سيناريوهات غير مدعومة وبعض المشكلات المعروفة


  • هذه الميزة غير مدعومة على Windows 32 بت.
  • لا تزال رموز الوحدات النمطية C ++ / CLI قيد التحميل
  • الوظائف الإضافية التي تم إهمالها C ++ Expression Evaluator ( هنا مثال) غير مدعومة في هذا الوضع.

إذا كنت بحاجة إلى متابعة استخدام مصحح الأخطاء الداخلي ، فيمكنك تعطيل الميزة بالانتقال إلى علامة التبويب "تصحيح الأخطاء" في "الأدوات" -> "الخيارات" وإلغاء تحديد "تحميل رموز تصحيح الأخطاء في العملية الخارجية (أصلي فقط)".



ساعدنا الرجال من مجتمع مطوري Microsoft @ msdevru ، قناة مجتمع مطوري Microsoft للمطورين وجميع المهتمين بالتقنيات الحديثة على إعداد هذه المقالة.

Source: https://habr.com/ru/post/ar433992/


All Articles