Тази статия се описва проблем, в който което се изключения попадат от грешен манипулатор в Windows Embedded Compact 2013. Налична е актуализация за решаване на проблема. Преди да инсталирате тази актуализация, трябва да се инсталира всички издадени преди това актуализации за този продукт.
Симптоми
Да разгледаме следния сценарий:
-
Можете да използвате добавка за Visual Studio 2013 конструктора на приложението за създаване на C++ приложение, насочена Windows Embedded Compact 2013.
-
Можете да разрешите асинхронни изключение за справяне с помощта на "/EHa" компилатор. Този параметър позволява двете C++ синхронно и структурирано изключение обработка (което се) асинхронни изключение обработка методи, които да бъдат смесени в един и същ код.
-
Изпълнение на свързаните код да което се изключения.
В този случай което се изключения винаги попадат в първия изключение манипулатор дори ако се филтрира за C++ синхронно изключение.
Обичайната процедура е което се изключения е уловен от многоточие изключение манипулатор.
Например можете да стартирате следния примерен код: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");
}
}
В този пример винаги удари първата пощенска клауза при възникване на което се изключение (число деление на нула) вместо многоточие манипулатор според очакванията.
Решение
Информация за актуализация на софтуер
Вграден Компактен 2013 ежемесечно актуализиране на Windows (септември 2015) вече се предлага от Microsoft. За да изтеглите актуализацията Windows Embedded Compact 2013 месечни, отидете на Microsoft OEM Online или MyOEM.
Необходими условия:
Тази актуализация се поддържа само ако също са инсталирани всички издадени преди това актуализации за този продукт.
Изискване за рестартиране
След като приложите тази актуализация, трябва да извършите чисто компилация на цялата платформа. За тази цел използвайте един от следните методи:
-
Изграждане на меню изберете Чисто решениеи изберете Компилация решение.
-
Изграждане на меню изберете Възстанови решение.
Не е нужно да рестартирате компютъра, след като приложите тази актуализация на софтуера.
Информация за заместване на актуализация
Тази актуализация не замества никакви други актуализации.
Английската версия на този пакет за актуализация на софтуера има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.
Файлове, които са включени в този пакет за актуализация
Име на файл |
Размер на файла |
Дата |
Време |
Път |
---|---|---|---|---|
Frame.cpp |
34,133 |
13-Nov-2014 |
23:06 |
Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh |
Fullcrt.lib |
30,027,378 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\X86\Checked |
Fullcrt.lib |
30,228,292 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\X86\Retail |
Fullcrt.lib |
28,759,836 |
09-Sep-2015 |
09:16 |
Public\Common\Oak\Lib\X86\Debug |
Fullcrt.lib |
29,278,300 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\Armv7\Checked |
Fullcrt.lib |
29,566,730 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\Armv7\Retail |
Fullcrt.lib |
33,139,560 |
09-Sep-2015 |
09:16 |
Public\Common\Oak\Lib\Armv7\Debug |
Msvcr110d.dll |
1,339,952 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.dll |
754,224 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.map |
1,287,579 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.rel |
528,834 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.map |
788,986 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.rel |
242,169 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.dll |
1,145,312 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.dll |
539,608 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110d.map |
2,714,275 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110d.rel |
215,924 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.map |
1,258,317 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.rel |
122,167 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Препратки
Научете повече за терминологията , използвана за описание на софтуерните актуализации от Microsoft.