Introdução
Este artigo descreve um problema que aciona uma falha de aplicativo Silverlight para Windows Embedded de um vazamento de memória em um controle personalizado do tipo VTYPE_BSTR no Windows Embedded Compact 7. Uma atualização está disponível para resolver esse problema. Antes de instalar essa atualização, todas as atualizações emitidas anteriormente para este produto devem ser instaladas.
Sintomas
Você tem um aplicativo Silverlight para Windows incorporado no Windows Embedded Compact 7. Se o aplicativo cria e registra um controle personalizado como uma propriedade de dependência personalizada do tipo VTYPE_BSTR, pode ocorrer um vazamento de memória. Além disso, o vazamento de memória pode fazer com que o aplicativo falhe.
Exemplos:
-
O método IXRCustomUserControl::GetPropertyValue() é chamado, um XRValue é retornado e define a variável XRValue.shouldFreeValuePointer para False. Isso causa uma quebra. Se você definir XRValue.shouldFreeValuePointer = True em seu aplicativo, isso fará com que um vazamento de memória.
-
O método GetDependencyProperty é chamado, um XRValue é retornado e define a variável XRValue.shouldFreeValuePointer como True. Isso também causa um vazamento de memória.
Esses vazamentos de memória, eventualmente, fazer com que o aplicativo falhe.
Resolução
Informações de atualização de software
Uma atualização de software compatível está agora disponível na Microsoft como Atualização Windows Embedded Compact 7 mensal (junho de 2015).
Observação: Este Windows Embedded Compact 7 atualização mensal está disponível para download no seguinte site da Microsoft Download Center:
Windows Embedded Compact 7 atualizações
Pré-requisitos:
Esta atualização é compatível somente se todas as atualizações emitidas anteriormente para esse produto também foram instaladas.
Requisitos de reinicialização:
Depois de aplicar essa atualização, você deve executar uma compilação limpa de toda a plataforma. Para fazer isso, use um dos seguintes métodos:
-
No menu Build , clique em Limpar soluçãoe, em seguida, clique em Build Solution.
-
No menu Build, clique em Solução de reconstrução.
Você não precisa reiniciar o computador após aplicar essa atualização de software.
Informações de substituição da atualização
Esta atualização não substitui outras atualizações.
A versão em inglês deste pacote de atualização de software tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.
Arquivos incluídos neste pacote de atualização
Nome do Arquivo |
Tamanho do arquivo |
Data |
Hora |
Caminho |
---|---|---|---|---|
Xamlruntime.map |
1,840,534 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.rel |
2,848,176 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.dll |
1,712,128 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.map |
1,435,946 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.rel |
2,322,261 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.dll |
1,236,992 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.map |
2,462,379 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.rel |
3,905,400 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.dll |
2,523,136 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.map |
1,833,288 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.rel |
1,763,460 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.dll |
1,359,872 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.map |
1,264,169 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.rel |
1,577,831 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.dll |
970,752 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.map |
2,485,090 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.rel |
2,317,244 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.dll |
2,232,320 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.map |
1,787,558 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.rel |
1,731,067 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.dll |
1,060,864 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.map |
1,428,788 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.rel |
1,626,087 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.dll |
778,240 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.map |
2,282,239 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.rel |
2,140,373 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.dll |
1,601,536 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.map |
1,803,333 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.rel |
2,186,193 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.dll |
1,265,664 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.map |
1,425,652 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.rel |
1,955,179 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.dll |
925,696 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.map |
2,461,372 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.rel |
2,927,897 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.dll |
2,015,232 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.map |
1,838,850 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.rel |
2,819,669 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.dll |
1,703,936 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.map |
1,434,544 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.rel |
2,301,497 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.dll |
1,236,992 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.map |
2,460,543 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.rel |
3,879,010 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.dll |
2,514,944 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.map |
1,833,276 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.rel |
1,763,460 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.dll |
1,351,680 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.map |
1,264,094 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.rel |
1,577,802 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.dll |
966,656 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.map |
2,485,098 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.rel |
2,317,215 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.dll |
2,228,224 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.map |
1,833,826 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.rel |
1,769,086 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.dll |
1,372,160 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.map |
1,264,656 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.rel |
1,582,471 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.dll |
983,040 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.map |
2,484,754 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Xamlruntime.rel |
2,324,871 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Xamlruntime.dll |
2,240,512 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Referências
Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.