Symptom
Du har ett program som är konfigurerat för att skapas för en x64-plattform med hjälp av Msvcr90.dll-filen. Programmet anropar funktionen strncpy. När du kör programmet kan du få följande felmeddelande i felsökningsfönstret för Visual Studio:
Obs
Ett ohanterat win32-undantag inträffade i "application_name"
När du kontrollerar anropsstacken kan du upptäcka att ett åtkomstfel utlöstes i Msvcr90.dll-filen och att programmet slutade svara i strncpy-funktionen. Det här problemet uppstår om följande villkor är sanna:
- Källbufferten sträcker sig till slutet av en allokerad sida.
- Nästa byte efter den här sidan tillhör inte processen som körs.
- Längden som ska kopieras är en jämn multipel av 8.
- Längden som ska kopieras inkluderar den sista byten i källbufferten.
Orsak
Det här problemet uppstår eftersom funktionen strncpy försöker komma åt nästa byte efter källbufferten. Det här problemet introduceras genom nya optimeringar av vissa CRT-biblioteksfunktioner.
Lösning
Information om snabbkorrigeringar
En snabbkorrigering som stöds är nu tillgänglig från Microsoft. Men avsikten är att korrigera de problem som beskrivs i den här artikeln. Använd den bara på system som har det här specifika problemet. Den här snabbkorrigeringen kan komma att testas ytterligare. Om du inte påverkas allvarligt av det här problemet rekommenderar vi därför att du väntar på nästa Visual Studio 2008 Service Pack som innehåller den här snabbkorrigeringen.
Lös problemet omedelbart genom att kontakta Microsofts kundsupport för att få snabbkorrigeringen. En fullständig lista över telefonnummer till Microsoft Support och information om supportkostnader finns på följande Microsoft-webbplats:
http://support.microsoft.com/contactus/?ws=support Obs! I särskilda fall kan avgifter som normalt tas ut för supportsamtal avbrytas om en professionell supporttekniker från Microsoft Support fastställer att en viss uppdatering kan lösa problemet. Normala supportavgifter tas ut för ytterligare supportfrågor och problem som inte gäller den aktuella uppdateringen.
Krav
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 efter att du har installerat snabbkorrigeringen.
Ersättningsinformation för snabbkorrigeringar
Den här snabbkorrigeringen ersätter inte andra snabbkorrigeringar.
Filinformation
Den engelska versionen av den här snabbkorrigeringen har filattributen (eller senare filattribut) som listas i följande tabell. Datumen och tiderna för dessa filer anges i Coordinated Universal Time (UTC). När du visar filinformationen konverteras den till lokal tid. Om du vill hitta skillnaden mellan UTC och lokal tid använder du fliken Tidszon i objektet Datum och tid på kontrollpanelen.
| Filnamn | Filversion | Filstorlek | Datum | Tid | Plattform |
|---|---|---|---|---|---|
| Atl90.dll | 9.0.30729.162 | 159,552 | 14-okt-2008 | 02:32 | x86 |
| Mfc90.dll | 9.0.30729.162 | 5,084,480 | 14-okt-2008 | 01:12 | x64 |
| Mfc90.dll | 9.0.30729.162 | 3,766,080 | 14-okt-2008 | 02:32 | x86 |
| Mfc90chs.dll | 9.0.30729.162 | 36,680 | 14-okt-2008 | 01:12 | x64 |
| Mfc90chs.dll | 9.0.30729.162 | 36,680 | 14-okt-2008 | 02:32 | x86 |
| Mfc90cht.dll | 9.0.30729.162 | 37,704 | 14-okt-2008 | 01:12 | x64 |
| Mfc90cht.dll | 9.0.30729.162 | 37,704 | 14-okt-2008 | 02:32 | x86 |
| Mfc90d.dll | 9.0.30729.162 | 7,419,200 | 14-okt-2008 | 01:12 | x64 |
| Mfc90d.dll | 9.0.30729.162 | 5,934,912 | 14-okt-2008 | 02:32 | x86 |
| Mfc90deu.dll | 9.0.30729.162 | 64,328 | 14-okt-2008 | 01:12 | x64 |
| Mfc90deu.dll | 9.0.30729.162 | 64,328 | 14-okt-2008 | 02:32 | x86 |
| Mfc90enu.dll | 9.0.30729.162 | 54,600 | 14-okt-2008 | 01:12 | x64 |
| Mfc90enu.dll | 9.0.30729.162 | 54,600 | 14-okt-2008 | 02:32 | x86 |
| Mfc90esn.dll | 9.0.30729.162 | 62,792 | 14-okt-2008 | 01:12 | x64 |
| Mfc90esn.dll | 9.0.30729.162 | 62,792 | 14-okt-2008 | 02:32 | x86 |
| Mfc90esp.dll | 9.0.30729.162 | 62,792 | 14-okt-2008 | 01:12 | x64 |
| Mfc90esp.dll | 9.0.30729.162 | 62,792 | 14-okt-2008 | 02:32 | x86 |
| Mfc90fra.dll | 9.0.30729.162 | 63,816 | 14-okt-2008 | 01:12 | x64 |
| Mfc90fra.dll | 9.0.30729.162 | 63,816 | 14-okt-2008 | 02:32 | x86 |
| Mfc90ita.dll | 9.0.30729.162 | 62,280 | 14-okt-2008 | 01:12 | x64 |
| Mfc90ita.dll | 9.0.30729.162 | 62,280 | 14-okt-2008 | 02:32 | x86 |
| Mfc90jpn.dll | 9.0.30729.162 | 44,360 | 14-okt-2008 | 01:12 | x64 |
| Mfc90jpn.dll | 9.0.30729.162 | 44,360 | 14-okt-2008 | 02:32 | x86 |
| Mfc90kor.dll | 9.0.30729.162 | 43,848 | 14-okt-2008 | 01:12 | x64 |
| Mfc90kor.dll | 9.0.30729.162 | 43,848 | 14-okt-2008 | 02:32 | x86 |
| Mfc90u.dll | 9.0.30729.162 | 5,103,424 | 14-okt-2008 | 01:12 | x64 |
| Mfc90u.dll | 9.0.30729.162 | 3,781,440 | 14-okt-2008 | 02:32 | x86 |
| Mfc90ud.dll | 9.0.30729.162 | 7,464,264 | 14-okt-2008 | 01:12 | x64 |
| Mfc90ud.dll | 9.0.30729.162 | 5,980,488 | 14-okt-2008 | 02:32 | x86 |
| Mfcm90.dll | 9.0.30729.162 | 67,072 | 14-okt-2008 | 00:50 | x64 |
| Mfcm90.dll | 9.0.30729.162 | 59,904 | 14-okt-2008 | 00:20 | x86 |
| Mfcm90d.dll | 9.0.30729.162 | 93,184 | 14-okt-2008 | 00:50 | x64 |
| Mfcm90d.dll | 9.0.30729.162 | 80,896 | 14-okt-2008 | 00:20 | x86 |
| Mfcm90u.dll | 9.0.30729.162 | 67,072 | 14-okt-2008 | 00:50 | x64 |
| Mfcm90u.dll | 9.0.30729.162 | 59,904 | 14-okt-2008 | 00:20 | x86 |
| Mfcm90ud.dll | 9.0.30729.162 | 93,696 | 14-okt-2008 | 00:50 | x64 |
| Mfcm90ud.dll | 9.0.30729.162 | 80,896 | 14-okt-2008 | 00:20 | x86 |
| Mfcmifc80u.dll | 9.0.30729.162 | 14,152 | 20-okt-2008 | 17:19 | x86 |
| Microsoft.visualc.stlclr.dll | 9.0.30729.162 | 49,000 | 20-okt-2008 | 17:19 | x86 |
| Msvcm90.dll | 9.0.30729.162 | 225,280 | 13-okt-2008 | 21:59 | x86 |
| Msvcm90.dll | 9.0.30729.162 | 324,096 | 13-okt-2008 | 22:36 | IA-64 |
| Msvcm90.dll | 9.0.30729.162 | 245,760 | 13-okt-2008 | 23:40 | x64 |
| Msvcm90d.dll | 9.0.30729.162 | 312,832 | 13-okt-2008 | 21:59 | x86 |
| Msvcm90d.dll | 9.0.30729.162 | 429,568 | 13-okt-2008 | 22:37 | IA-64 |
| Msvcm90d.dll | 9.0.30729.162 | 333,312 | 13-okt-2008 | 23:40 | x64 |
| Msvcp90.dll | 9.0.30729.162 | 1,467,208 | 14-okt-2008 | 00:56 | IA-64 |
| Msvcp90.dll | 9.0.30729.162 | 854,344 | 14-okt-2008 | 01:12 | x64 |
| Msvcp90.dll | 9.0.30729.162 | 570,696 | 14-okt-2008 | 02:32 | x86 |
| Msvcp90d.dll | 9.0.30729.162 | 2,514,760 | 14-okt-2008 | 00:56 | IA-64 |
| Msvcp90d.dll | 9.0.30729.162 | 1,121,608 | 14-okt-2008 | 01:12 | x64 |
| Msvcp90d.dll | 9.0.30729.162 | 873,288 | 14-okt-2008 | 02:32 | x86 |
| Msvcr90.dll | 9.0.30729.162 | 1,504,584 | 14-okt-2008 | 00:56 | IA-64 |
| Msvcr90.dll | 9.0.30729.162 | 624,456 | 14-okt-2008 | 01:12 | x64 |
| Msvcr90.dll | 9.0.30729.162 | 653,640 | 14-okt-2008 | 02:32 | x86 |
| Msvcr90d.dll | 9.0.30729.162 | 3,599,688 | 14-okt-2008 | 00:56 | IA-64 |
| Msvcr90d.dll | 9.0.30729.162 | 1,349,960 | 14-okt-2008 | 01:12 | x64 |
| Msvcr90d.dll | 9.0.30729.162 | 1,178,440 | 14-okt-2008 | 02:32 | x86 |
| Vcomp90.dll | 9.0.30729.162 | 142,664 | 14-okt-2008 | 00:56 | IA-64 |
| Vcomp90.dll | 9.0.30729.162 | 57,672 | 14-okt-2008 | 01:12 | x64 |
| Vcomp90.dll | 9.0.30729.162 | 52,040 | 14-okt-2008 | 02:32 | x86 |
| Vcomp90d.dll | 9.0.30729.162 | 317,256 | 14-okt-2008 | 00:56 | IA-64 |
| Vcomp90d.dll | 9.0.30729.162 | 105,800 | 14-okt-2008 | 01:12 | x64 |
| Vcomp90d.dll | 9.0.30729.162 | 89,416 | 14-okt-2008 | 02:32 | x86 |
| Vcomp90ui.dll | 9.0.30729.162 | 11,592 | 20-okt-2008 | 17:19 | x86 |
| Vcredist_ia64.exe | 9.0.30729.162 | 4,712,272 | 14-okt-2008 | 19:32 | x86 |
| Vcredist_x64.exe | 9.0.30729.162 | 5,236,560 | 14-okt-2008 | 19:36 | x86 |
| Vcredist_x86.exe | 9.0.30729.162 | 4,496,208 | 14-okt-2008 | 19:28 | x86 |
Lösning
Använd någon av följande metoder för att kringgå problemet:
Ändra något av de fyra tillstånd som beskrivs i avsnittet "Symptom".
Ersätt funktionen strncpy med andra funktioner som har liknande funktioner, till exempel funktionen memcpy eller funktionen lstrcpyn.
Obs! Dessa kopieringsfunktioner skiljer sig något åt. Till exempel avslutar inte memcpy-funktionen strängkopian när en null-byte påträffas före den angivna längden.
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Mer information
Om du vill veta mer om terminologi 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 Microsofts programuppdateringar