ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

บทความนี้อธิบายถึงปัญหาใน SEH ที่ตรวจพบข้อยกเว้น โดยตัวจัดการไม่ถูกต้องใน Windows 2013 กระชับข้อมูลฝังตัว การปรับปรุงจะพร้อมใช้งานเมื่อต้องการแก้ไขปัญหานี้ ก่อนที่คุณติดตั้งโปรแกรมปรับปรุงนี้ โปรแกรมปรับปรุงที่ออกใช้ก่อนหน้านี้ทั้งหมดสำหรับผลิตภัณฑ์นี้ต้องถูกติดตั้ง

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้:

  • คุณสามารถใช้ตัวสร้างแอพลิเคชันปลั๊กอิน 2013 Studio Visual เมื่อต้องการสร้างโปรแกรมประยุกต์ c ++ที่เป้าหมาย Windows 2013 กระชับข้อมูลฝังตัว

  • คุณเปิดใช้งานข้อยกเว้นแบบอะซิงโครนัสการจัดการ โดยใช้สวิตช์คอมไพเลอร์ "/EHa" สวิตช์นี้ช่วยให้ทั้ง c ++มีโครงสร้าง และแบบซิงโครนัสการจัดการข้อยกเว้น (SEH) วิธีการผสมผสานกันในรหัสเดียวกันในการจัดการข้อยกเว้นแบบอะซิงโครนัส

  • คุณเรียกใช้รหัสที่เกี่ยวข้องสามารถตรวจจับข้อยกเว้นของ SEH

ในสถานการณ์สมมตินี้ ข้อยกเว้นของ SEH ใจเสมอตรวจพบในตัวจัดการข้อยกเว้นแรกแม้ว่าจะมีการกรองข้อมูลสำหรับข้อยกเว้นแบบซิงโครนัส c ++

ลักษณะการทำงานที่คาดไว้คือ SEH ข้อยกเว้นที่ถูกตรวจพบ โดยตัวจัดการข้อยกเว้นของจุดไข่ปลา

ตัวอย่างเช่น คุณเรียกใช้ตัวอย่างรหัสต่อไปนี้: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");
}
}
ในตัวอย่างนี้ คุณเสมอรข้อมูลส่วนคำสั่ง catch แรกเมื่อเกิดขึ้น SEH ข้อยกเว้น (หารจำนวนเต็ม ด้วยศูนย์) แทนที่เป็นตัวจัดการจุดไข่ปลาตามที่คาดไว้

การแก้ปัญหา

ข้อมูลการปรับปรุงซอฟต์แวร์

ขณะนี้พร้อมใช้งานจาก Microsoft Windows ฝังตัวกระชับ 2013 รายเดือน Update (2015 กันยายน) ได้ เมื่อต้องการดาวน์โหลดการปรับปรุงรายเดือนนี้ Windows 2013 กระชับข้อมูลฝังตัว ไปที่Microsoft OEM OnlineหรือMyOEM

ข้อกำหนดเบื้องต้น

โปรแกรมปรับปรุงนี้ได้รับการสนับสนุนเฉพาะเมื่อมีการติดตั้งโปรแกรมปรับปรุงที่ออกใช้ก่อนหน้านี้ทั้งหมดสำหรับผลิตภัณฑ์นี้นอกจากนี้

ข้อกำหนดการรีสตาร์ท

หลังจากที่คุณใช้โปรแกรมปรับปรุงนี้ คุณต้องดำเนินการเป็นแพลตฟอร์มทั้งรุ่นใหม่ทั้งหมด เมื่อต้องการทำเช่นนี้ ใช้หนึ่งในวิธีต่อไปนี้:

  • บนเมนูสร้างเลือกโซลูชันใหม่ทั้งหมดจากนั้นสร้างโซลูชัน

  • บนเมนูสร้างเลือกโซลูชันที่สร้างใหม่

คุณไม่จำเป็นต้องรีสตาร์ทเครื่องคอมพิวเตอร์หลังจากใช้การปรับปรุงซอฟต์แวร์นี้

ข้อมูลการแทนที่การปรับปรุง

โปรแกรมปรับปรุงนี้ไม่แทนโปรแกรมปรับปรุงอื่น ๆ

แพคเกจโปรแกรมปรับปรุงซอฟต์แวร์นี้รุ่นภาษาอังกฤษมีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บโซนเวลาในรายการวันและเวลา'ใน'แผงควบคุม'

แฟ้มที่รวมอยู่ในแพคเกจโปรแกรมปรับปรุงนี้

ชื่อแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

เส้นทาง

Frame.cpp

34,133

13-Nov-2014

23:06

Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh

Fullcrt.lib

30,027,378

09-Sep-2015

09:17

Public\Common\Oak\Lib\X86\Checked

Fullcrt.lib

30,228,292

09-Sep-2015

09:17

Public\Common\Oak\Lib\X86\Retail

Fullcrt.lib

28,759,836

09-Sep-2015

09:16

Public\Common\Oak\Lib\X86\Debug

Fullcrt.lib

29,278,300

09-Sep-2015

09:17

Public\Common\Oak\Lib\Armv7\Checked

Fullcrt.lib

29,566,730

09-Sep-2015

09:17

Public\Common\Oak\Lib\Armv7\Retail

Fullcrt.lib

33,139,560

09-Sep-2015

09:16

Public\Common\Oak\Lib\Armv7\Debug

Msvcr110d.dll

1,339,952

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.dll

754,224

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.map

1,287,579

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.rel

528,834

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.map

788,986

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110.rel

242,169

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\X86

Msvcr110d.dll

1,145,312

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.dll

539,608

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110d.map

2,714,275

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110d.rel

215,924

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.map

1,258,317

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm

Msvcr110.rel

122,167

08-Sep-2015

05:26

Public\Common\Sdk\Crt\Bin\Arm


ข้อมูลอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×