Pendahuluan
Artikel ini menjelaskan masalah di manan pengecualian terjadi saat banyak alur memanggil fungsi C run-time "atexit" pada saat yang sama di Windows 7 ringkas tertanam. Pemutakhiran tersedia untuk mengatasi masalah ini. Sebelum Anda menginstal pembaruan ini, Semua pembaruan sebelumnya diterbitkan untuk produk ini harus diinstal.
Gejala
Saat banyak alur memanggil fungsi run-time atexit C pada saat yang sama di Windows 7 ringkas tertanam, pengecualian terjadi. Pengecualian terjadi saat kode yang memanggil fungsi atexit tidak serial atau saat fungsi atexit dimasukkan dengan kompilator.
Penyebab
Masalah ini terjadi karena fungsi atexit waktu C-Run tidak thread-aman. Oleh karena itu, tabel memori yang menggunakan fungsi yang rusak.
Pemecahan masalah
Informasi pemutakhiran perangkat lunak
Pembaruan perangkat lunak yang didukung sekarang tersedia dari Microsoft sebagai tertanam ringkas 7 bulanan Pemutakhiran Windows (Juni 2017).
Catatan Windows Embedded ringkas 7 bulanan pembaruan tersedia untuk diunduh dari situs web Microsoft Download Center berikut:
Prasyarat
Pemutakhiran ini didukung hanya jika semua pembaruan sebelumnya diterbitkan untuk produk ini juga telah diinstal.
Persyaratan menghidupkan ulang
Setelah Anda menerapkan pembaruan ini, Anda harus melakukan pembuatan bersih platform keseluruhan. Untuk melakukannya, gunakan salah satu dari metode berikut ini:
-
Pada menu Build, klik Solusi Bersih, dan kemudian klik Solusi Build.
-
Membangun menu, klik Solusi membangun kembali.
Anda tidak harus me-restart komputer setelah Anda menerapkan pembaruan perangkat lunak.
Informasi penggantian pemutakhiran
Pembaruan ini tidak menggantikan pembaruan lainnya.
Informasi file
Karena ini adalah rilis penuh gelombang. Hampir semua berkas yang dipengaruhi oleh rilis ini.
Berkas sumber berikut dipengaruhi rilis ini::
private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.cInformasi lebih lanjut
Dalam lingkungan multithread, tabel fungsi atexit mungkin rusak oleh panggilan atexit lain karena non-thread keamanan. Hal ini dapat menyebabkan kerusakan memori dan pengecualian. Atexit function digunakan untuk mendaftarkan rutin yang akan dijalankan saat program keluar atau membongkar .dll. Kesalahan pada thread safety dapat menyebabkan perubahan ini rutin keluar dan kerusakan keluar fungsi tabel.
Referensi
Pelajari tentang peristilahan yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft.