Symptom
Du har ett program som har konfigurerats för att byggas för en x64 plattform med hjälp av Msvcr90.dll-fil. Tillämpningen anropar funktionen strncpy . När du kör programmet kan du få följande felmeddelande i fönstret Visual Studio in Debugger:
Ett ohanterat win32-undantag uppstod i "programnamn"
När du kontrollerar anropsstacken kanske utlöste ett åtkomstfel i filen Msvcr90.dll och att programmet slutar svara i strncpy -funktionen. Det här problemet uppstår när följande villkor är uppfyllda:
-
Källa bufferten sträcker sig till slutet av en sida som är allokerade.
-
Nästa byte efter den här sidan tillhör inte processen som körs.
-
Längden ska kopieras är en jämn multipel av 8.
-
Längden ska kopieras innehåller den sista byten i källa bufferten.
Orsak
Det här problemet uppstår eftersom funktionen strncpy försöker komma åt nästa byte efter källa bufferten. Det här problemet infördes genom nya optimeringar till vissa funktioner i CRT-biblioteket.
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är nu tillgänglig från Microsoft. Den är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack för Visual Studio 2008, som innehåller denna snabbkorrigering.
Om du vill lösa problemet omedelbart kontaktar du Microsoft support för att få snabbkorrigeringen. En fullständig lista över telefonnummer till Microsoft Customer Support Services och information om supportkostnader finns på följande Microsoft-webbplats:http://support.microsoft.com/contactus/?ws=supportObs! I särskilda fall avbryts de avgifter som är normala för supportsamtal om en supporttekniker anser att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.
Förutsättningar
Du måste ha Visual Studio 2008 Service Pack 1 installerat för att kunna installera den här snabbkorrigeringen.
Krav på omstart
Du behöver inte starta om datorn när du har installerat den här snabbkorrigeringen.
Ersättningsinformation för Hotfix
Den här snabbkorrigeringen ersätter inte några andra snabbkorrigeringar.
Filinformation
Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
Atl90.dll |
9.0.30729.162 |
159,552 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90.dll |
9.0.30729.162 |
5,084,480 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90.dll |
9.0.30729.162 |
3,766,080 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90chs.dll |
9.0.30729.162 |
36,680 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90chs.dll |
9.0.30729.162 |
36,680 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90cht.dll |
9.0.30729.162 |
37,704 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90cht.dll |
9.0.30729.162 |
37,704 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90d.dll |
9.0.30729.162 |
7,419,200 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90d.dll |
9.0.30729.162 |
5,934,912 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90deu.dll |
9.0.30729.162 |
64,328 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90deu.dll |
9.0.30729.162 |
64,328 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90enu.dll |
9.0.30729.162 |
54,600 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90enu.dll |
9.0.30729.162 |
54,600 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90esn.dll |
9.0.30729.162 |
62,792 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90esn.dll |
9.0.30729.162 |
62,792 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90esp.dll |
9.0.30729.162 |
62,792 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90esp.dll |
9.0.30729.162 |
62,792 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90fra.dll |
9.0.30729.162 |
63,816 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90fra.dll |
9.0.30729.162 |
63,816 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90ita.dll |
9.0.30729.162 |
62,280 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90ita.dll |
9.0.30729.162 |
62,280 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90jpn.dll |
9.0.30729.162 |
44,360 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90jpn.dll |
9.0.30729.162 |
44,360 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90kor.dll |
9.0.30729.162 |
43,848 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90kor.dll |
9.0.30729.162 |
43,848 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90u.dll |
9.0.30729.162 |
5,103,424 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90u.dll |
9.0.30729.162 |
3,781,440 |
14-Oct-2008 |
02:32 |
x86 |
Mfc90ud.dll |
9.0.30729.162 |
7,464,264 |
14-Oct-2008 |
01:12 |
x64 |
Mfc90ud.dll |
9.0.30729.162 |
5,980,488 |
14-Oct-2008 |
02:32 |
x86 |
Mfcm90.dll |
9.0.30729.162 |
67,072 |
14-Oct-2008 |
00:50 |
x64 |
Mfcm90.dll |
9.0.30729.162 |
59 904 |
14-Oct-2008 |
00:20 |
x86 |
Mfcm90d.dll |
9.0.30729.162 |
93,184 |
14-Oct-2008 |
00:50 |
x64 |
Mfcm90d.dll |
9.0.30729.162 |
80,896 |
14-Oct-2008 |
00:20 |
x86 |
Mfcm90u.dll |
9.0.30729.162 |
67,072 |
14-Oct-2008 |
00:50 |
x64 |
Mfcm90u.dll |
9.0.30729.162 |
59 904 |
14-Oct-2008 |
00:20 |
x86 |
Mfcm90ud.dll |
9.0.30729.162 |
93,696 |
14-Oct-2008 |
00:50 |
x64 |
Mfcm90ud.dll |
9.0.30729.162 |
80,896 |
14-Oct-2008 |
00:20 |
x86 |
Mfcmifc80u.dll |
9.0.30729.162 |
14,152 |
20-Oct-2008 |
17:19 |
x86 |
Microsoft.visualc.stlclr.dll |
9.0.30729.162 |
49,000 |
20-Oct-2008 |
17:19 |
x86 |
Msvcm90.dll |
9.0.30729.162 |
225,280 |
13-Oct-2008 |
21:59 |
x86 |
Msvcm90.dll |
9.0.30729.162 |
324,096 |
13-Oct-2008 |
22:36 |
IA-64 |
Msvcm90.dll |
9.0.30729.162 |
245,760 |
13-Oct-2008 |
23:40 |
x64 |
Msvcm90d.dll |
9.0.30729.162 |
312,832 |
13-Oct-2008 |
21:59 |
x86 |
Msvcm90d.dll |
9.0.30729.162 |
429,568 |
13-Oct-2008 |
22:37 |
IA-64 |
Msvcm90d.dll |
9.0.30729.162 |
333 312 |
13-Oct-2008 |
23:40 |
x64 |
Msvcp90.dll |
9.0.30729.162 |
1,467,208 |
14-Oct-2008 |
00:56 |
IA-64 |
Msvcp90.dll |
9.0.30729.162 |
854,344 |
14-Oct-2008 |
01:12 |
x64 |
Msvcp90.dll |
9.0.30729.162 |
570,696 |
14-Oct-2008 |
02:32 |
x86 |
Msvcp90d.dll |
9.0.30729.162 |
2,514,760 |
14-Oct-2008 |
00:56 |
IA-64 |
Msvcp90d.dll |
9.0.30729.162 |
1,121,608 |
14-Oct-2008 |
01:12 |
x64 |
Msvcp90d.dll |
9.0.30729.162 |
873,288 |
14-Oct-2008 |
02:32 |
x86 |
Msvcr90.dll |
9.0.30729.162 |
1,504,584 |
14-Oct-2008 |
00:56 |
IA-64 |
Msvcr90.dll |
9.0.30729.162 |
624,456 |
14-Oct-2008 |
01:12 |
x64 |
Msvcr90.dll |
9.0.30729.162 |
653,640 |
14-Oct-2008 |
02:32 |
x86 |
Msvcr90d.dll |
9.0.30729.162 |
3,599,688 |
14-Oct-2008 |
00:56 |
IA-64 |
Msvcr90d.dll |
9.0.30729.162 |
1,349,960 |
14-Oct-2008 |
01:12 |
x64 |
Msvcr90d.dll |
9.0.30729.162 |
1,178,440 |
14-Oct-2008 |
02:32 |
x86 |
Vcomp90.dll |
9.0.30729.162 |
142,664 |
14-Oct-2008 |
00:56 |
IA-64 |
Vcomp90.dll |
9.0.30729.162 |
57,672 |
14-Oct-2008 |
01:12 |
x64 |
Vcomp90.dll |
9.0.30729.162 |
52,040 |
14-Oct-2008 |
02:32 |
x86 |
Vcomp90d.dll |
9.0.30729.162 |
317,256 |
14-Oct-2008 |
00:56 |
IA-64 |
Vcomp90d.dll |
9.0.30729.162 |
105,800 |
14-Oct-2008 |
01:12 |
x64 |
Vcomp90d.dll |
9.0.30729.162 |
89,416 |
14-Oct-2008 |
02:32 |
x86 |
Vcomp90ui.dll |
9.0.30729.162 |
11,592 |
20-Oct-2008 |
17:19 |
x86 |
Vcredist_ia64.exe |
9.0.30729.162 |
4,712,272 |
14-Oct-2008 |
19:32 |
x86 |
Vcredist_x64.exe |
9.0.30729.162 |
5,236,560 |
14-Oct-2008 |
19:36 |
x86 |
Vcredist_x86.exe |
9.0.30729.162 |
4,496,208 |
14-Oct-2008 |
19:28 |
x86 |
Temporär lösning
Undvik det här problemet genom att använda någon av följande metoder:
-
Ändra något av de fyra villkor som beskrivs i avsnittet "Symptom".
-
Ersätt funktionen strncpy med andra funktioner som har liknande funktionalitet, till exempel funktionen memcpyeller funktionen lstrcpyn .
Obs! Funktionerna kopiera är något annorlunda. Funktionen memcpy slutar till exempel inte kopiera strängen när en null-byte påträffades innan den angivna längden.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
Mer Information
För mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar