Poprawka: Zastępowania strukturalnej obsługi wyjątków są objęte Obsługa wyjątków nie tak po włączeniu obsługi wyjątków asynchronicznego w WEC 2013

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 3008664
W tym artykule opisano problem w których zastępowania strukturalnej obsługi wyjątków są objęte niewłaściwy program obsługi w systemu Windows Embedded Compact 2013. Aktualizacja jest dostępna do rozwiązania tego problemu. Przed zainstalowaniem tej aktualizacji, musi być zainstalowany wszystkie uprzednio wydane aktualizacje dla tego produktu.
Symptomy
Rozważ następujący scenariusz:
  • Dodatek dla programu Visual Studio 2013 konstruktora aplikacji umożliwia tworzenie aplikacji C++ atakującego Windows Embedded Compact 2013.
  • Włączanie obsługi przy użyciu asynchronicznej wyjątków "/ EHa"przełącznik. Ten przełącznik umożliwia zarówno C++ synchroniczne strukturalnych i obsługi wyjątków obsługi metod, aby być mieszane w tym samym kodem wyjątków asynchronicznego (strukturalnej obsługi wyjątków).
  • Uruchomienie kodu powiązanego złapać zastępowania strukturalnej obsługi wyjątków.
W tym scenariuszu zastępowania strukturalnej obsługi wyjątków są zawsze złowionych w pierwszy Obsługa wyjątków, nawet jeśli jest filtrowana dla wyjątku synchroniczne C++.

Oczekiwane zachowanie jest zastępowania strukturalnej obsługi wyjątków są objęci wielokropka obsługi wyjątków.

Na przykład można uruchomić następujący kod:
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");    }}
W tym przykładzie zawsze trafisz w pierwszej klauzuli catch podczas zastępowania strukturalnej obsługi wyjątków (całkowite dzielenie przez zero) pojawia się zamiast obsługi wielokropka zgodnie z oczekiwaniami.

Rozwiązanie

Informacje dotyczące aktualizacji oprogramowania

Systemu Windows Embedded Compact 2013 miesięcznej aktualizacji (września 2015) jest teraz udostępniana przez firmę Microsoft. Aby pobrać ten comiesięczna aktualizacja systemu Windows Embedded 2013 Compact, przejdź do Microsoft OEM Online lub MyOEM.

Wymagania wstępne

Ta aktualizacja jest obsługiwana tylko wtedy, gdy wszystkie uprzednio wydane aktualizacje dla tego produktu zostały również zainstalowane.

Wymagania dotyczące ponownego uruchomienia

Po zastosowaniu tej aktualizacji należy wykonać czystą kompilację całej platformy. Aby to zrobić, użyj jednej z następujących metod:
  • W menu Tworzeniezaznacz Czystego roztworu, a następnie wybierz Budowania rozwiązania.
  • W menu Tworzeniewybierz Odbudować rozwiązanie.
Nie musisz ponownie uruchomić komputer po zastosowaniu tej aktualizacji oprogramowania.

Informacje dotyczące zastępowania aktualizacji

Ta aktualizacja nie zastępuje żadnych innych aktualizacji.

Informacje o pliku

Wersja anglojęzyczna tego pakietu aktualizacji oprogramowania ma atrybuty plików (lub nowsze) wymieniono w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z kartyStrefa czasowa w elemencie Data i godzina w Panelu sterowania.
Pliki, które są uwzględnione w tym pakiecie aktualizacji
Nazwa plikuRozmiar plikuDataCzasŚcieżka
Frame.cpp34,13313-lis-201423:06Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh
Fullcrt.lib30,027,37809-wrz-201509:17Public\Common\Oak\Lib\X86\Checked
Fullcrt.lib30,228,29209-wrz-201509:17Public\Common\Oak\Lib\X86\Retail
Fullcrt.lib28,759,83609-wrz-201509:16Public\Common\Oak\Lib\X86\Debug
Fullcrt.lib29,278,30009-wrz-201509:17Public\Common\Oak\Lib\Armv7\Checked
Fullcrt.lib29,566,73009-wrz-201509:17Public\Common\Oak\Lib\Armv7\Retail
Fullcrt.lib33,139,56009-wrz-201509:16Public\Common\Oak\Lib\Armv7\Debug
Msvcr110d.dll1,339,95208-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.dll754,22408-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.map1,287,57908-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.Rel528,83408-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.map788,98608-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.Rel242,16908-wrz-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.dll1,145,31208-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.dll539,60808-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.map2,714,27508-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.Rel215,92408-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.map1,258,31708-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.Rel122,16708-wrz-201505:26Public\Common\Sdk\Crt\Bin\Arm
Materiały referencyjne
Dowiedz się więcej o terminologia używaną przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Propriedades

ID do Artigo: 3008664 - Última Revisão: 10/30/2015 00:20:00 - Revisão: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMtpl
Comentários