مقدمة
توضح هذه المقالة مشكلة حيثاستثناء n عند عدة مؤشرات ترابط استدعاء دالة وقت التشغيل "atexit" C في نفس الوقت في Windows 7 مضغوط مضمن. يتوفر تحديث لحل هذه المشكلة. قبل تثبيت هذا التحديث، يجب تثبيت كافة التحديثات التي تم إصدارها مسبقاً لهذا المنتج.
الأعراض
عند عدة مؤشرات ترابط استدعاء دالة وقت التشغيل atexit C في نفس الوقت في Windows 7 مضغوط مضمن، قد يحدث استثناء. يحدث الاستثناء عندما لا يتم إجراء تسلسل التعليمات البرمجية التي تستدعي الدالة atexit أو عندما يتم إدراج دالة atexit بواسطة المحول البرمجي.
السبب
تحدث هذه المشكلة لأن الدالة atexit وقت التشغيل C غير مؤشر الترابط-الأمن. ولذلك، تالف جدول الذاكرة التي تستخدم الدالة.
الحل
معلومات تحديث البرامج
تحديث برامج معتمدة تتوفر من Microsoft مثل Windows المضمنة ضغط 7 الشهرية تحديث (حزيران/يونيه 2017).
ملاحظة: Windows المضمنة ضغط 7 الشهرية يتوفر هذا "التحديث" للتنزيل من موقع "مركز تنزيل microsoft" التالي على الويب:
المتطلبات الأساسية
يتم دعم هذا التحديث فقط إذا تم تثبيت كافة التحديثات التي تم إصدارها مسبقاً لهذا المنتج أيضًا.
متطلبات إعادة التشغيل
بعد تطبيق هذا التحديث، يجب تنفيذ بنية نظيفة للنظام الأساسي بأكمله. للقيام بذلك، استخدم إحدى الطرق التالية:
-
في بنية القائمة، انقر فوق تنظيف الحل، وثم انقر فوق إنشاء الحل.
-
في القائمة بنية، انقر فوق إعادة بناء الحل.
ليس لديك لإعادة تشغيل جهاز الكمبيوتر بعد تطبيق تحديث البرنامج هذا.
معلومات استبدال التحديث
لا يحل هذا التحديث محل أية تحديثات أخرى.
معلومات الملف
هذا هو إصدار موجي كامل. الثنائيات جل تتأثر بهذا الإصدار.
تتأثر ملفات المصدر التالي إلى هذا الإصدار::
private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.c
مزيد من المعلومات
في بيئة متعددة العمليات، جداول الدالة atexit تلف باستدعاء atexit آخر بسبب أمان غير مؤشر الترابط. قد يؤدي هذا إلى تلف الذاكرة والاستثناءات. الدالة atexit يستخدم لتسجيل روتين التي سيتم تنفيذها عند إنهاء البرنامج أو إلغاء تحميل.dll. قد يؤدي وجود خلل في أمان مؤشر الترابط إلى تغيير هذا الروتين الإنهاء والفساد الجداول دالة إنهاء.
المراجع
تعرف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.