Update: SEH-Ausnahmen werden von falschen Ausnahmehandler abgefangen, wenn asynchrone Ausnahmebehandlung WEC 2013 aktiviert ist

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 3008664
Dieser Artikel beschreibt ein Problem in der SEH Ausnahmen von einem falschen Handler in Windows Embedded Compact 2013 abgefangen werden. Ein Update ist verfügbar, um dieses Problem zu beheben. Bevor Sie dieses Update installieren, müssen alle zuvor veröffentlichten Updates für dieses Produkt installiert.
Problembeschreibung
Betrachten Sie das folgende Szenario:
  • Mithilfe der Application Builder plug-in für Visual Studio 2013 eine C++-Anwendung Windows Embedded Compact 2013 erstellen.
  • Aktivieren die asynchrone Ausnahmebehandlung mithilfe der "/ EHa"Compilerschalter. Diese Option ermöglicht sowohl C++ synchrone und strukturierte Ausnahmebehandlung asynchronen Ausnahmebehandlung (SEH) Methoden können den gleichen Code gemischt werden.
  • Sie führen den zugehörigen Code SEH-Ausnahmen abfangen.
In diesem Szenario werden SEH-Ausnahmen immer den ersten Ausnahmehandler abgefangen, selbst wenn für synchrone C++-Ausnahmen gefiltert wird.

Das erwartete Verhalten ist SEH-Ausnahmen aufgefangen durch Auslassungszeichen Ausnahmehandler.

Führen Sie beispielsweise folgenden Code:
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");    }}
In diesem Beispiel erreichen Sie immer die erste Catch-Klausel tritt SEH-Ausnahmen (Ganzzahldivision durch null) statt mit Handler wie erwartet.

Lösung

Informationen zu Softwareupdates

Windows Embedded Compact 2013 monatliche Update (September 2015) ist jetzt von Microsoft erhältlich. Um dieses monatliche Update für Windows Embedded Compact 2013 herunterzuladen, besuchen Sie Microsoft OEM Online oder: MyOEM.

Voraussetzungen

Dieses Update wird nur unterstützt, wenn alle zuvor veröffentlichten Updates für dieses Produkt ebenfalls installiert wurden.

Neustartanforderung

Nachdem Sie dieses Update anwenden, führen Sie die gesamte Plattform neu erstellen. Verwenden Sie hierzu eine der folgenden Methoden:
  • Klicken Sie im Menü Erstellenauf Wählen Sie Projektmappe bereinigen ausund wählen Sie Projektmappe erstellen.
  • Klicken Sie im Menü Erstellenauf Projektmappe neu erstellen.
Sie müssen den Computer neu starten, nachdem Sie dieses Update anwenden.

Ersetzte Updates

Dieses Update ersetzt keine anderen Updates nicht.

Dateiinformationen

Die englische Version dieses Softwareupdatepakets weist Dateiattribute (oder höher), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, wird es in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu suchen, verwenden Sie der RegisterkarteZeitzoneDatums- / Element im Bedienfeld.
Dieses Update-Paket enthaltenen Dateien
DateinameGröße der DateiDatumZeitPfad
Frame.cpp34,13313-Nov-201423:06Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh
Fullcrt.lib30,027,37809 Sep 201509:17Public\Common\Oak\Lib\X86\Checked
Fullcrt.lib30,228,29209 Sep 201509:17Public\Common\Oak\Lib\X86\Retail
Fullcrt.lib28,759,83609 Sep 201509:16Public\Common\Oak\Lib\X86\Debug
Fullcrt.lib29,278,30009 Sep 201509:17Public\Common\Oak\Lib\Armv7\Checked
Fullcrt.lib29,566,73009 Sep 201509:17Public\Common\Oak\Lib\Armv7\Retail
Fullcrt.lib33,139,56009 Sep 201509:16Public\Common\Oak\Lib\Armv7\Debug
Msvcr110d.dll1,339,95208 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.dll754,22408 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.Map1,287,57908 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.rel528,83408 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.Map788,98608 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.rel242,16908 Sep 201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.dll1,145,31208 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.dll539,60808 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.Map2,714,27508 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.rel215,92408 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.Map1,258,31708 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.rel122,16708 Sep 201505:26Public\Common\Sdk\Crt\Bin\Arm
Informationsquellen
Erfahren Sie mehr über die Terminologie die Microsoft zur Beschreibung von Softwareupdates verwendet.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 3008664 – Letzte Überarbeitung: 10/30/2015 01:02:00 – Revision: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMtde
Feedback