Düzeltme: zaman uyumsuz bir özel durum işleme WEC 2013'de etkinleştirildiğinde, SEH özel durumlar yanlış bir özel durum işleyicisi tarafından yakalanır

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3008664
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 kullanılabilir. 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 kullanarak etkinleştir "/ EHa"derleyici anahtarı. 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 şu adrese gidin Microsoft OEM Çevrimiçi veya MyOEM.

Ö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.

Dosya bilgileri

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 öğesindesaat dilimi sekmesini kullanın.
Bu güncelleştirme paketinin içerdiği dosyalar
Dosya adıDosya boyutuTarihSaatYol
Frame.cpp34,13313-Kas-201423:06Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh
Fullcrt.lib30,027,37809 Eyl 201509:17Public\Common\Oak\Lib\X86\Checked
Fullcrt.lib30,228,29209 Eyl 201509:17Public\Common\Oak\Lib\X86\Retail
Fullcrt.lib28,759,83609 Eyl 201509:16Public\Common\Oak\Lib\X86\Debug
Fullcrt.lib29,278,30009 Eyl 201509:17Public\Common\Oak\Lib\Armv7\Checked
Fullcrt.lib29,566,73009 Eyl 201509:17Public\Common\Oak\Lib\Armv7\Retail
Fullcrt.lib33,139,56009 Eyl 201509:16Public\Common\Oak\Lib\Armv7\Debug
Msvcr110d.dll1,339,95208 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.dll754,22408 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.map1,287,57908 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.rel528,83408 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.map788,98608 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.rel242,16908 Eyl 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.dll1,145,31208 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.dll539,60808 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.map2,714,27508 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.rel215,92408 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.map1,258,31708 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.rel122,16708 Eyl 201505:26Public\Common\Sdk\Crt\Bin\Arm
Referanslar
Hakkında bilgi edinin terminoloji Microsoft yazılım güncelleştirmelerini açıklamak için kullandığı.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 3008664 - Son İnceleme: 10/30/2015 00:16:00 - Düzeltme: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMttr
Geri bildirim