Wprowadzenie
W tym artykule opisano problem, który powoduje awarię aplikacji Silverlight dla systemu Windows Embedded z przeciek pamięci w formant niestandardowy typ VTYPE_BSTR w systemu Windows Embedded Compact 7. Ten problem można rozwiązać przez zainstalowanie tej aktualizacji. Przed zainstalowaniem tej aktualizacji należy wszystkie uprzednio wydane aktualizacje dla tego produktu musi być zainstalowany.
Objawy
Masz aplikacji Silverlight dla systemu Windows Embedded w systemu Windows Embedded Compact 7. Jeśli aplikacja tworzy i rejestruje formant niestandardowy jako właściwości niestandardowe zależność typu VTYPE_BSTR, może wystąpić przeciek pamięci. Dodatkowo przeciek pamięci może spowodować awarię aplikacji.
Przykłady:-
Metoda IXRCustomUserControl::GetPropertyValue() jest wywoływana, XRValue jest zwracany i ustawia dla tej zmiennej XRValue.shouldFreeValuePointer na False. Powoduje to powstanie przerwy. Jeśli ustawisz XRValue.shouldFreeValuePointer = True w aplikacji, to spowodować wyciek pamięci.
-
Metoda GetDependencyProperty jest wywoływana, XRValue jest zwracany i ustawia dla tej zmiennej XRValue.shouldFreeValuePointer na wartość True. Powoduje to również, że przeciek pamięci.
Te przecieki pamięci ostatecznie spowodować awarię aplikacji.
Rozwiązanie
Informacje dotyczące aktualizacji oprogramowania
Obsługiwana aktualizacja oprogramowania jest teraz udostępniana przez firmę Microsoft jako Aktualizację systemu Windows Embedded Compact 7 miesięczne (czerwiec 2015 r.).
Uwaga Ta aktualizacja systemu Windows Embedded Compact 7 miesięczne jest dostępny do pobrania z następującej witryny Microsoft Download Center:Aktualizacje Windows Embedded Compact 7
Wymagania wstępne
Ta aktualizacja jest obsługiwana tylko wtedy, gdy wszystkie uprzednio wydane aktualizacje dla tego produktu zostały również zainstalowane.
Wymagania dotyczące ponownego uruchomienia
Po zastosowaniu tej aktualizacji należy wykonać czystą kompilację całej platformy. Aby to zrobić, użyj jednej z następujących metod:
-
W menu Tworzenie kliknij Czystego roztworu, a następnie kliknij Budowania rozwiązania.
-
W menu Tworzenie kliknij przycisk Odbuduj rozwiązanie.
Nie trzeba ponownie uruchomić komputer po zastosowaniu tej aktualizacji oprogramowania.
Informacje dotyczące zastępowania aktualizacji
Ta aktualizacja nie zastępuje żadnych innych aktualizacji.
Wersja anglojęzyczna tego pakietu aktualizacji oprogramowania ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.
Pliki, które są uwzględnione w tym pakiecie aktualizacji
Nazwa pliku |
Rozmiar pliku |
Data |
Godzina |
Ścieżka |
---|---|---|---|---|
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 |
Powiązane artykuły
Więcej informacji na temat terminologii stosowanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.