本文介绍了在哪些 SEH 异常错误处理程序在 Windows 嵌入式紧凑型 2013年的问题。更新程序可以解决此问题。在安装此更新之前,必须安装此产品以前发出的所有更新。
症状
请考虑以下情形:
-
您可以使用 Visual Studio 2013年插件应用程序生成器创建 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年每月更新 (9 月 2015)。若要下载此 Windows 嵌入式紧凑型 2013年每月更新,转到Microsoft 在线 OEM或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 用于描述软件更新的术语。