Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Este artigo descreve um problema em que SEH excepções são capturadas por um processador de 2013 do Windows Embedded Compact errado. Existe uma actualização corrigir este problema. Antes de instalar esta actualização, tem de ser instaladas todas as actualizações anteriormente disponibilizadas para este produto.

Sintomas

Considere o seguinte cenário:

  • Utilize o construtor de aplicação Plug-in para 2013 do Visual Studio para criar uma aplicação de C++ direccionada 2013 do Windows Embedded Compact.

  • Activar o processamento, utilizando o parâmetro de compilador "/EHa" de excepções assíncrona. Este parâmetro permite que ambos os C++ síncronas e estruturados de processamento de excepções métodos destinados a serem misturados no mesmo código de processamento de excepções assíncrona (SEH).

  • Executa o código para interceptar as excepções de substituições SEH relacionado.

Neste cenário, excepções de substituições SEH sempre são capturadas no processador de excepções do primeiro mesmo que ela é filtrada para uma excepção síncrona C++.

O comportamento esperado é excepções de substituições SEH serem abrangidas pelo processador de excepções de reticências.

Por exemplo, execute o seguinte código exemplo: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");
}
}
Neste exemplo, sempre acerta a cláusula catch primeira quando ocorre a excepção de substituições SEH (número inteiro dividir por zero) em vez do processador de reticências conforme esperado.

Resolução

Informações de actualização de software

Incorporado Compact 2013 actualização mensal do Windows (de Setembro de 2015) está agora disponível da Microsoft. Para transferir esta actualização mensal do Windows incorporado de 2013 Compact, vá para o Microsoft OEM Online ou MyOEM.

Pré-requisitos

Esta actualização só é suportada se todas as actualizações anteriormente disponibilizadas para este produto também tiverem sido instaladas.

Requisito de reinício

Depois de aplicar esta actualização, deve efectuar uma limpeza de toda a plataforma. Para tal, utilize um dos seguintes métodos:

  • No Build menu, seleccione Solução limpoe, em seguida, seleccione Build Solution.

  • No Build menu, seleccione Recriar a solução.

Não tem de reiniciar o computador depois de aplicar esta actualização de software.

Atualizar informações de substituição

Esta actualização não substitui quaisquer outras actualizações.

A versão inglesa deste pacote de actualização de software tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.

Ficheiros que estão incluídos neste pacote de actualização

Nome do ficheiro

Tamanho do ficheiro

Data

Hora

Caminho

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


Referências

Obter informações sobre a terminologia utilizada pela Microsoft para descrever actualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×