تصحيح: استثناءات SEH اشتعلت به معالج استثناء غير صحيح عندما يتم تمكين معالجة الاستثناء غير متزامنة في شركة وستنغهاوس 2013

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية3008664
توضح هذه المقالة مشكلة في أي SEH استثناءات اشتعلت به معالج خطأ عام 2013 مضغوط Windows المضمنة. يتوفر تحديث لحل هذه المشكلة. قبل تثبيت هذا التحديث، يجب تثبيت كافة التحديثات التي تم إصدارها مسبقاً لهذا المنتج.
الأعراض
يرجى مراعاة السيناريو التالي:
  • يمكنك استخدام "منشئ التطبيق" الإضافية ل Visual Studio 2013 لإنشاء تطبيق c + + التي تستهدف 2013 مضغوط Windows المضمنة.
  • تمكين الاستثناء غير متزامن معالجة باستخدام "/EHa"تبديل برنامج التحويل البرمجي. يسمح رمز التبديل هذا كلا c + + متزامن ومنظم معالجة الاستثناء (SEH) أساليب لتكون مختلطة في نفس التعليمات البرمجية لمعالجة الاستثناء غير متزامنة.
  • تشغيل التعليمات البرمجية ذات الصلة التقاط استثناءات SEH.
في هذا السيناريو، استثناءات SEH دائماً وقعوا في معالج الاستثناء الأول حتى إذا تم تصفية استثناء متزامن c + +.

السلوك المتوقع استثناءات SEH الوقوع بواسطة معالج استثناء القطع.

على سبيل المثال، تشغيل نموذج التعليمات البرمجية التالية:
class CMyEx{public:    CMyEx(int nParam) : m_nParam(nParam) { }    int m_nParam;}; void TestExceptions(){    try    {        int a = 42;        int b = 0;        // throw CMyEx(1);        // throw 97;        int c = a / b;    }    catch (const CMyEx &e)    {        wprintf(L"CMyEx exception caught (param=%d)!\n", e.m_nParam);    }    catch (...)    {        wprintf(L"Exception of unspecified type caught by ellipsis clause!\n");    }}
في هذه العينة، دائماً إصابة عبارة catch الأولى عند حدوث الاستثناء SEH (قسمة عدد صحيح على صفر) بدلاً من معالج القطع كما هو متوقع.

الحل

معلومات تحديث البرامج

Windows المضمنة ضغط 2013 تحديث شهري (أيلول/سبتمبر 2015) متوفر الآن من Microsoft. لتنزيل هذا التحديث الشهرية 2013 ضغط المضمنة Windows، انتقل إلى OEM Microsoft عبر الإنترنت أو ميوم.

المتطلبات الأساسية

يتم دعم هذا التحديث فقط إذا تم تثبيت كافة التحديثات التي تم إصدارها مسبقاً لهذا المنتج أيضا.

متطلبات إعادة التشغيل

بعد تطبيق هذا التحديث، يجب تنفيذ بنية نظيفة للنظام الأساسي بأكمله. للقيام بذلك، استخدم إحدى الطرق التالية:
  • في بنيةالقائمة، حدد تنظيف الحل، وحدد بناء الحل.
  • في بنيةالقائمة، حدد إعادة بناء الحل.
لا يلزم إعادة تشغيل جهاز الكمبيوتر بعد تطبيق تحديث البرنامج هذا.

معلومات استبدال التحديث

لا يحل هذا التحديث محل أية تحديثات أخرى.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من حزمة تحديث البرنامج هذه سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويبالمنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
الملفات التي تم تضمينها في حزمة التحديث
اسم الملفحجم الملفالتاريخالوقتمسار
Frame.cpp34,13313-نوفمبر-201423:06Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh
Fullcrt.lib30,027,37809-سبتمبر-201509:17Public\Common\Oak\Lib\X86\Checked
Fullcrt.lib30,228,29209-سبتمبر-201509:17Public\Common\Oak\Lib\X86\Retail
Fullcrt.lib28,759,83609-سبتمبر-201509:16Public\Common\Oak\Lib\X86\Debug
Fullcrt.lib29,278,30009-سبتمبر-201509:17Public\Common\Oak\Lib\Armv7\Checked
Fullcrt.lib29,566,73009-سبتمبر-201509:17Public\Common\Oak\Lib\Armv7\Retail
Fullcrt.lib33,139,56009-سبتمبر-201509:16Public\Common\Oak\Lib\Armv7\Debug
Msvcr110d.dll1,339,95208-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.dll754,22408-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.map1,287,57908-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.rel528,83408-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.map788,98608-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.rel242,16908-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.dll1,145,31208-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.dll539,60808-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.map2,714,27508-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.rel215,92408-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.map1,258,31708-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.rel122,16708-سبتمبر-201505:26Public\Common\Sdk\Crt\Bin\Arm
مراجع
التعرف المصطلحات تستخدم Microsoft لوصف تحديثات البرامج.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 3008664 - آخر مراجعة: 10/30/2015 01:03:00 - المراجعة: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMtar
تعليقات