الجديد

تسرب الذاكرة الإخطار في دلفي على إنهاء البرنامج

تسرب الذاكرة الإخطار في دلفي على إنهاء البرنامج

تحتوي كافة إصدارات Delphi منذ Delphi 2006 على مدير ذاكرة محدث يتميز بميزة أسرع وأكثر ثراءً.

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

عند إنشاء تطبيقات WIN32 مع Delphi ، من الضروري التأكد من تحرير جميع الكائنات (الذاكرة) التي تنشئها ديناميكيًا.

يحدث تسرب للذاكرة (أو المورد) عندما يفقد البرنامج القدرة على تحرير الذاكرة التي يستهلكها.

تقرير تسرب الذاكرة على الاغلاق

يتم تعيين الكشف عن تسرب الذاكرة وإعداد التقارير إلى false بشكل افتراضي. لتمكينه ، تحتاج إلى تعيين المتغير العمومي ReportMemoryLeaksOnShutdown إلى TRUE.

عند إغلاق التطبيق ، في حالة حدوث تسرب غير متوقع للذاكرة ، سيعرض التطبيق مربع الحوار "تسرب ذاكرة غير متوقع".

سيكون أفضل مكان لـ ReportMemoryLeaksOnShutdown في ملف التعليمات البرمجية المصدر للبرنامج (dpr).

ابدأ   ReportMemoryLeaksOnShutdown: = DebugHook 0؛   // المصدر "ب" دلفي Application.Initialize. Application.MainFormOnTaskbar: = True؛ Application.CreateForm (TMainForm ، MainForm) ؛ Application.Run. النهاية.

ملاحظة: يتم استخدام متغير عمومي DebugHook أعلاه للتأكد من عرض تسرب الذاكرة عند تشغيل التطبيق في وضع التصحيح - عندما تناسب F9 من Delphi IDE.

اختبار القيادة: كشف تسرب الذاكرة

بعد ضبط ReportMemoryLeaksOnShutdown على TRUE ، أضف التعليمات البرمجية التالية في معالج أحداث OnCreate للنموذج الرئيسي.

فار sl: TStringList ؛ ابدأ sl: = TStringList.Create؛ sl.Add ('تسرب الذاكرة!') ؛ النهاية;

قم بتشغيل التطبيق في وضع التصحيح ، والخروج من التطبيق - سترى مربع الحوار تسرب الذاكرة.

ملاحظة: إذا كنت تبحث عن أداة للقبض على أخطاء تطبيق Delphi الخاصة بك ، مثل تلف الذاكرة ، تسرب الذاكرة ، أخطاء تخصيص الذاكرة ، أخطاء تهيئة المتغيرات ، تعارضات تعريف المتغير ، أخطاء المؤشر ... ألق نظرة على madExcept و EurekaLog

دلفي نصائح المستكشف

شاهد الفيديو: شرح جهاز فحص السيارة بالكمبيوتر - (يوليو 2020).