メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

この資料では、どの SEH の例外は Windows 埋め込まれたコンパクト 2013 での不適切なハンドラーによって、問題を説明します。この問題を解決する更新プログラムがあります。この更新プログラムをインストールする前にこの製品の以前に発行されたすべての更新プログラムをインストールする必要があります。

現象

次のような状況を考えます。

  • Windows 埋め込まれたコンパクトな 2013 を対象とする C++ アプリケーションを作成するのにには、Visual Studio の 2013 のプラグインのアプリケーション ビルダーを使用します。

  • 非同期例外"/EHa"コンパイラ スイッチを使用して処理を有効にするとします。このスイッチは、両方 C++ 同期および構造化例外処理 (SEH) の非同期例外処理メソッドを同じコードで混在させることを許可します。

  • SEH 例外をキャッチするのには関連するコードを実行するとします。

このシナリオでは、場合でも、C++ 同期例外をフィルターには、SEH 例外は非常に最初の例外ハンドラーで常に検出されます。

予想される動作は、省略記号の例外ハンドラーによってキャッチされる 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 例外 (0 による整数除算) が発生したとき。

解決策

ソフトウェアの更新情報

Windows 埋め込まれたコンパクトな 2013 月例更新プログラム (2015年 9 月) では、マイクロソフトから利用可能なようになりました。この Windows 埋め込まれたコンパクトな 2013 の月例更新プログラムをダウンロードするには、 Microsoft OEM オンラインまたはMyOEMに移動します。

必要条件

この製品の以前に発行されたすべての更新プログラムがインストールされても場合にのみ、この更新プログラムはサポートされています。

再起動の必要性

この更新プログラムを適用した後、プラットフォーム全体のクリーン ビルドを行う必要があります。これを行うには、次の方法のいずれかの手順に従います。

  • [ビルド] メニューは、ソリューションのクリーンを選択し、[ソリューションのビルドを選択します。

  • [ビルド] メニューの[ソリューションのリビルドを選択します。

このソフトウェア更新プログラムを適用した後コンピューターを再起動する必要はありません。

更新プログラムの置き換えに関する情報

この修正プログラムは、他の更新プログラムを置き換えるしません。

このソフトウェア更新プログラム パッケージの英語バージョンがファイル属性 (またはそれ以降のファイル属性) には次の表に記載されています。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報を表示すると、ローカル時刻に変換されます。UTC とローカル時間の時差を確認するには、コントロール パネルの [日付と時刻] で、[タイム ゾーン] タブを使用します。

この更新プログラム パッケージに含まれるファイル

ファイル名

ファイル サイズ

日付

時刻

Path

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 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×