Poprawka: Wyjątek podczas wiele wątków wywołania funkcji run-time "atexit" C w tym samym czasie w systemu Windows Embedded Compact 7

Wprowadzenie

W tym artykule opisano problem, któryn wyjątek występuje, gdy wiele wątków wywołania funkcji wykonywania "atexit" C w tym samym czasie w systemu Windows Embedded Compact 7. Ten problem można rozwiązać przez zainstalowanie tej aktualizacji. Przed zainstalowaniem tej aktualizacji należy wszystkie uprzednio wydane aktualizacje dla tego produktu musi być zainstalowany.

Objawy

Gdy wiele wątków wywołanie funkcji wykonywania atexit C w tym samym czasie w systemu Windows Embedded Compact 7, może wystąpić wyjątek. Wyjątek występuje, gdy kod, który wywołuje funkcję atexit nie jest seryjny lub funkcji atexit jest wstawiany przez kompilator.

Przyczyna

Ten problem występuje, ponieważ funkcja atexit czasu wykonywania C nie jest wątków. W związku z tym tabela pamięci, która używa funkcji jest uszkodzony.

Rozwiązanie

Informacje dotyczące aktualizacji oprogramowania

Obsługiwana aktualizacja oprogramowania jest teraz udostępniana przez firmę Microsoft jako aktualizację systemu Windows Embedded Compact 7 miesięczne (czerwca 2017).

Uwaga Ta aktualizacja systemu Windows Embedded Compact 7 miesięczne jest dostępny do pobrania z następującej witryny Microsoft Download Center:

Aktualizacje Windows Embedded Compact 7

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 Tworzenie kliknij Czystego roztworu, a następnie kliknij Budowania rozwiązania.

  • W menu Tworzenie kliknij przycisk Odbuduj rozwiązanie.

Nie trzeba ponownie uruchomić komputer po zastosowaniu tej aktualizacji oprogramowania.

Informacje dotyczące zastępowania aktualizacji

Ta aktualizacja nie zastępuje żadnych innych aktualizacji.

Informacje o plikach

Jak jest wersja pełna fala. Prawie wszystkie pliki binarne są zagrożone w tej wersji.

Następujące pliki źródłowe dotyczy tej wersji::

private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.c

Więcej informacji

W środowisku wielowątkowym tabelach funkcji atexit może być uszkodzony przez inne wywołanie atexit ze względu na bezpieczeństwo-wątku. Może to prowadzić do uszkodzenia pamięci i wyjątki. Funkcja atexit jest używany do rejestrowania procedurę, która zostanie wykonana, gdy zamyka program lub zwalnia .dll. Luka w bezpieczeństwo wątków może doprowadzić do zmiany tej procedury wyjścia i uszkodzenie funkcji Zakończ tabel.

Powiązane artykuły

Zobacz więcej informacji na temat terminologii stosowanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×