อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณเปิดใช้งานตัวเลือกการปรับให้เหมาะสมสากล (/Og) การเปิดใช้งานหนึ่งในตัวเลือกต่อไปนี้:
-
/O1
-
/O2
-
/Ox
-
-
คุณสามารถสร้างแฟ้มต้นฉบับ Visual C++ ของ Microsoft โดยใช้ Microsoft Visual Studio 2008 Service Pack 1 (SP1)
-
แฟ้มต้นฉบับเรียกฟังก์ชันsetjmpฟังก์ชันlongjmpหรือฟังก์ชันทั้งสอง
ในสถานการณ์สมมตินี้ คอมไพเลอร์อาจใช้ออฟเซ็ตกองซ้อนเดียวกันเพื่อเก็บตัวแปรภายในเครื่องที่แตกต่างกัน ดังนั้น ลักษณะการทำงานที่ไม่คาดคิดอาจเกิดขึ้นเมื่อคุณเรียกใช้โปรแกรมประยุกต์ที่สร้างขึ้น
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากตัวเพิ่มประสิทธิภาพที่ใช่แอคเคาท์สำหรับsetjmpฟังก์ชันหรือฟังก์ชันlongjmp ซึ่งทำให้ตัวเพิ่มประสิทธิภาพการคำนวณอายุการใช้งานของตัวแปรภายในเครื่องไม่ถูกต้อง เมื่อมีการเปลี่ยนแปลง ตัวแปรหนึ่งตัวแปรอื่นสามารถเปลี่ยนโดยไม่คาดคิดนั้น
การแก้ไข
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้การแก้ไขด่วนนี้กับระบบต่าง ๆ ที่พบปัญหาอธิบายไว้ในบทความนี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับผลกระทบจากปัญหานี้รุนแรง เราขอแนะนำให้ คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ เมื่อต้องการแก้ไขปัญหานี้ทันที ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าและการสนับสนุนของ Microsoft หรือเพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ในกรณีพิเศษ ค่าบริการที่เรียกเก็บตามปกติเมื่อโทรติดต่อฝ่ายสนับสนุนอาจจะยกเลิกได้หาก Microsoft Support Professional ตัดสินว่าโปรแกรมปรับปรุงที่เฉพาะเจาะจงจะแก้ไขปัญหาของคุณได้ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง เมื่อต้องการดาวน์โหลดโปรแกรมแก้ไขด่วนนี้จากแกลเลอรีรหัส Microsoft Developer Network (MSDN) แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://code.msdn.microsoft.com/KB2498381หมายเหตุ แกลเลอรีรหัส MSDN แสดงภาษาซึ่งโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น ถ้าคุณไม่เห็นภาษาของคุณปรากฏ อาจเป็น เพราะหน้าแกลเลอรีของรหัสทรัพยากรจะไม่พร้อมใช้งานสำหรับภาษานั้น หรือ คุณสามารถดาวน์โหลดโปรแกรมแก้ไขด่วนนี้ได้จากเว็บไซต์ Microsoft การเชื่อมต่อต่อไปนี้:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826
ข้อกำหนดเบื้องต้น
เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี Microsoft Visual Studio 2008 Service Pack 1 ติดตั้งอยู่
ข้อมูลการเริ่มระบบใหม่
คุณไม่ต้องรีสตาร์ทเครื่องคอมพิวเตอร์หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ถ้าคุณได้หยุดอินสแตนซ์ทั้งหมดของ Visual Studio
ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนนี้ไม่ได้ใช้แทนโปรแกรมแก้ไขด่วนที่มีการนำออกใช้ก่อนหน้านี้
ข้อมูลไฟล์
ไฟล์การติดตั้งโปรแกรมแก้ไขด่วนรุ่นที่ใช้งานทั่วโลกจะมีคุณลักษณะตามที่แสดงในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้จะแสดงอยู่ใน Coordinated Universal Time (UTC) วันที่และเวลาสำหรับไฟล์นี้ในคอมพิวเตอร์ท้องถิ่นจะแสดงเวลาท้องถิ่นของคุณพร้อมกับเวลาออมแสงปัจจุบัน (DST) นอกจากนี้ วันที่และเวลาอาจเปลี่ยนแปลงเมื่อคุณดำเนินการบางอย่างในไฟล์
ชื่อไฟล์ |
รุ่นของไฟล์ |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
C2.dll |
15.0.30729.6147 |
2,283,840 |
25-ก.พ.-2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,362,688 |
25-ก.พ.-2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,493,248 |
25-ก.พ.-2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
3,018,048 |
25-ก.พ.-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-ก.พ.-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 |
การแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ เตรียมใช้งานตัวแปรท้องถิ่นในช่วงต้นของฟังก์ชันเพื่อให้คอมไพเลอร์สามารถทราบถึงอายุการใช้งานตัวแปร
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับศัพท์เฉพาะในการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft