Bu makalede, Windows Embedded Compact 2013 yanlış işleyici tarafından yakalandı içinde hangi SEH özel durumlara neden olan bir sorun açıklanır. Bu sorunu gidermek bir güncelleştirme mevcut. Bu güncelleştirmeyi yüklemeden önce bu ürün için daha önce yayımlanmış tüm güncelleştirmeleri yüklü olmalıdır.
Belirtiler
Aşağıdaki senaryoyu düşünün:
-
Windows Embedded Compact 2013 hedefleyen C++ uygulaması oluşturmak için Visual Studio 2013 için eklenti uygulama Oluşturucu kullanın.
-
Zaman uyumsuz özel durum işleme "/EHa" derleyici anahtarı kullanarak sağlar. Bu anahtar aynı kod karışık yöntemleri (SEH) zaman uyumsuz özel durum işleme hem C++ eşzamanlı ve yapılandırılmış özel durum işleme sağlar.
-
Sen SEH özel durumları yakalamak için ilgili kod çalıştırabilir.
Bu senaryoda, SEH özel durumlar için bir C++ zaman uyumlu durum filtre uygulanmış olsa bile ilk özel durum işleyicisi her zaman yakalanır.
SEH özel durumları üç nokta özel durum işleyicisi ile yakalandığından beklenen davranıştır. Örneğin, aşağıdaki örnek kodu çalıştırın: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"); } } Beklendiği gibi yerine üç nokta işleyicisi (tamsayı sıfıra) SEH özel durumu ortaya çıktığında Bu örnekte, her zaman ilk catch yan tümcesinin isabet.Çözüm
Yazılım güncelleştirme bilgileri
Windows Embedded Compact 2013 Aylık Güncelleştirmesi (Eylül 2015) artık Microsoft'tan edinilebilir. Windows Embedded Compact 2013 aylık bu güncelleştirmeyi karşıdan yüklemek için Microsoft OEM Online veya MyOEMgidin.
Önkoşullar
Bu güncelleştirme yalnızca bu ürün için daha önce yayımlanan güncelleştirmelerin tümü de yüklüyse desteklenir.
Yeniden başlatma gereksinimi
Bu güncelleştirmeyi yükledikten sonra platformun tamamı için temiz bir yapı oluşturma gerçekleştirmeniz gerekir. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:
-
Yapı menüsünde, Temiz çözümseçin ve sonra Build Solution' ı seçin.
-
Yapı menüsünde, Çözümü yenidenseçin.
Bu yazılım güncelleştirmesini uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.
Güncelleştirme değiştirme bilgileri
Bu güncelleştirme başka hiçbir güncelleştirmenin yerini değildir.
Bu yazılım güncelleştirme paketinin İngilizce sürümü dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde, bu yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki tarih ve saat öğesinde saat dilimi sekmesini kullanın.
Bu güncelleştirme paketinin içerdiği dosyalar
Dosya adı |
Dosya boyutu |
Tarih |
Saat |
Yol |
---|---|---|---|---|
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 |
Başvurular
Microsoft yazılım güncelleştirmelerini açıklamak için kullandığı terminoloji hakkında ek bilgi edinin.