Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×