مشكلة تسرب ذاكرة غريبة
-
08-07-2019 - |
سؤال
وأنا استخدم عنصر تحكم ActiveX الذي هو مجرد معالج HTTP. فإنه يرسل طلب HTTP، يحصل على استجابة ويطلق حدث للمستخدم. عندما يقوم المستخدم لا تطلب عنصر تحكم ActiveX هي جميلة نائمة من ذلك بكثير. ينتظر فقط لطلب المستخدم لإرسال طلب HTTP آخر.
وطالما أن نافذة فيها OCX يقيم لا يغير (فقدان التركيز، والحصول على التركيز، الخ) ذاكرة تبقى هادئة. لكل من العمليات المذكورة أعلاه قلت تفقد حوالي 400 بايت.
وأين يجب أن نبحث عن تسرب ممكن؟
المحلول
وإذا افترضنا أن سلسلة HTTP وتنتقل عبر BSTR
s، قد تكون قيد التشغيل في BSTR
التخزين المؤقت أ >. للتحقق، فأنت تريد أن تعيين بيئة OANOCACHE
المتغير إلى 1 أو الاتصال OaSetNoCache()
مباشرة. يجب أن يكون متغير البيئة الأسهل لاختبار مع.
نصائح أخرى
وانظروا إلى أدوات التنميط قبالة الجاهزة للاستخدام التي يمكن الكشف عن هذا التسرب (حتى وضع التصحيح في VC لديه خيار تتبع مخصصات تسربت).