Gejala

Pertimbangkan skenario berikut:

  • Anda mengaktifkan opsi pengoptimalan global (/Og) dengan mengaktifkan salah satu dari opsi berikut ini:

    • /O1

    • /O2

    • /Ox

  • Anda membuat file sumber Microsoft Visual C++ menggunakan Microsoft Visual Studio 2008 Paket Layanan 1 (SP1).

  • File sumber yang memanggil fungsi setjmp , fungsi longjmp atau fungsi kedua.

Dalam skenario ini, kompilator mungkin menggunakan offset memori yang sama untuk menyimpan variabel lokal yang berbeda. Oleh karena itu, perilaku tak terduga dapat terjadi ketika Anda menjalankan aplikasi yang dihasilkan.

Penyebab

Masalah ini terjadi karena Pengoptimal tidak berhubungan dengan fungsi setjmp atau fungsi longjmp . Hal ini menyebabkan Pengoptimal salah menghitung masa variabel lokal. Apabila satu variabel diubah, variabel lainnya mungkin tiba-tiba berubah.

Pemecahan Masalah

Informasi Hotfix

Tersedia hotfix yang didukung dari Microsoft. Namun, hotfix ini ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Hotfix ini hanya berlaku untuk sistem yang mengalami masalah yang dijelaskan di artikel ini. Hotfix ini mungkin akan menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami sarankan Anda menunggu pemutakhiran perangkat lunak berikutnya yang berisi perbaikan terbaru ini. Untuk segera menyelesaikan masalah ini, hubungi layanan dukungan pelanggan Microsoft untuk mendapatkan hotfix. Untuk daftar lengkap nomor telepon layanan pelanggan Microsoft dan dukungan atau untuk membuat permintaan layanan terpisah, kunjungi situs web Microsoft berikut:

http://support.microsoft.com/contactus/?ws=supportCatatan Dalam kasus tertentu, biaya yang biasanya diadakan untuk panggilan dukungan mungkin dibatalkan apabila profesional dukungan Microsoft menentukan bahwa pembaruan khusus akan memecahkan masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah yang tidak termasuk pada pembaruan tertentu yang dimaksud dukungan tambahan. Untuk men-download perbaikan terbaru ini dari Galeri kode Microsoft Developer Network (MSDN), kunjungi website Microsoft berikut:

http://code.msdn.microsoft.com/KB2498381Catatan Galeri kode MSDN menampilkan bahasa hotfix tersedia. Jika Anda tidak melihat bahasa Anda terdaftar, hal ini karena Galeri kode sumber halaman tidak tersedia untuk bahasa tersebut. Atau, Anda dapat men-download perbaikan terbaru ini dari situs web Microsoft Connect berikut:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826

Prasyarat

Untuk menerapkan hotfix ini, Anda harus memiliki Microsoft Visual Studio 2008 Paket Layanan 1 diinstal.

Informasi menghidupkan ulang

Anda tidak harus me-restart komputer setelah Anda menginstal perbaikan terbaru ini jika Anda telah berhenti semua contoh dari Visual Studio.

Informasi penggantian hotfix

Hotfix ini tidak menggantikan hotfix yang diedarkan sebelumnya.

Informasi berkas

Versi global dari hotfix ini menginstal berkas yang memiliki atribut yang tercantum dalam tabel berikut. Tanggal dan waktu untuk berkas-berkas tersebut dicantumkan dalam Coordinated Universal Time (UTC). Tanggal dan waktu untuk berkas-berkas tersebut di komputer lokal Anda ditampilkan dalam waktu setempat sekaligus dengan selisih waktu daylight saving time (DST) saat ini. Selain itu, tanggal dan waktu dapat berubah saat Anda melakukan pengoperasian tertentu pada berkas.

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

C2.dll

15.0.30729.6147

2,283,840

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

2,362,688

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

2,493,248

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

3,018,048

25-Feb-2011

01:25

x64

C2.dll

15.0.30729.6147

7,263,040

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

1,055,560

25-Feb-2011

01:25

x64

Link.exe

9.0.30729.6147

2,135,368

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

800,584

25-Feb-2011

01:25

x86

Penyelesaian Masalah

Untuk mengatasi masalah ini, inisialisasi variabel lokal di awal fungsi sehingga kompilator dapat mengetahui variabel seumur hidup.

Status

Microsoft telah melakukan konfirmasi bahwa masalah ini timbul pada produk Microsoft yang tertera pada bagian "Berlaku untuk".

Informasi Selengkapnya

Untuk informasi selengkapnya tentang peristilahan pemutakhiran perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.