MEMPERBAIKI: SEH pengecualian terperangkap dengan salah pengecualian penanganan saat penanganan pengecualian asinkron diaktifkan di WEC 2013

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 3008664
Artikel ini menjelaskan masalah di mana SEH pengecualian ditangkap oleh penangan salah di Windows Embedded ringkas 2013. Pemutakhiran tersedia untuk memperbaiki masalah ini. Sebelum Anda menginstal pembaruan ini, Semua pembaruan sebelumnya diterbitkan untuk produk ini harus diinstal.
Gejala
Pertimbangkan skenario berikut ini:
  • Anda menggunakan aplikasi pembuat colok-masuk untuk Visual Studio 2013 untuk membuat C++ aplikasi yang mentargetkan Windows Embedded ringkas 2013.
  • Anda mengaktifkan asinkron pengecualian penanganan menggunakan "/ EHa"saklar compiler. Switch ini memungkinkan kedua C++ sinkron dan terstruktur pengecualian penanganan (SEH) asinkron pengecualian penanganan metode untuk campuran dalam kode yang sama.
  • Anda menjalankan kode yang terkait untuk menangkap pengecualian SEH.
Dalam skenario ini, SEH pengecualian selalu terperangkap dalam penanganan pengecualian pertama meskipun penyaringan untuk pengecualian sinkron C++.

Perilaku yang diharapkan adalah pengecualian SEH ditangkap oleh penangan pengecualian elipsis.

Misalnya, Anda menjalankan kode contoh berikut:
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");    }}
Dalam contoh ini, Anda selalu tekan klausa menangkap pertama ketika terjadi pengecualian SEH (bilangan bulat dibagi dengan nol) bukannya pengendali elipsis seperti yang diharapkan.

Pemecahan masalah

Informasi pemutakhiran peranti penangkap lunak

Windows tertanam ringkas 2013 bulanan Update (September 2015) sekarang tersedia dari Microsoft. Untuk men-download pembaruan bulanan Windows Embedded ringkas 2013, buka Microsoft OEM Online atau MyOEM.

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:
  • Membangunmenu, pilih Solusi bersih, dan kemudian pilih Membangun solusi.
  • Membangunmenu, pilih Solusi membangun kembali.
Anda tidak harus me-restart komputer setelah Anda menerapkan pembaruan peranti penangkap lunak.

Informasi penggantian pemutakhiran

Pembaruan ini tidak menggantikan pembaruan lainnya.

Informasi file

Versi bahasa Perserikatan Kerajaan paket pembaruan peranti penangkap lunak ini memiliki atribut berkas (atau atribut berkas yang lebih baru) yang tercantum dalam Daftar Tabel berikut. Tanggal dan waktu untuk berkas-berkas tersebut dicantumkan dalam Coordinated Universal Time (UTC). Ketika Anda melihat informasi berkas, akan diubah ke waktu lokal. Untuk menemukan perbedaan antara waktu UTC dan waktu lokal, gunakan tabzona waktu di item tanggal dan waktu di Control Panel.
Berkas yang disertakan dalam paket pemutakhiran ini
Nama fileUkuran fileTanggalWaktugaris jatuh berseri
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
Referensi
Pelajari tentang terminologi Microsoft yang digunakan untuk menjelaskan pembaruan peranti penangkap lunak.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3008664 - Tinjauan Terakhir: 10/30/2015 00:53:00 - Revisi: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMtid
Tanggapan