Symptomen
Neem het volgende scenario:
-
U hebt een project van Visual C++ 2010. De broncode van het project is een structuur of -klasse die langer is dan 64 bytes.
-
Bouwen van het project voor een platform op basis van x64 en de /O2 compiler optie.
-
U uitvoert de toepassing.
In dit scenario treedt een toegangsfout op en de toepassing loopt vast.
Oorzaak
Dit probleem treedt op omdat de compiler op basis van x64 van Visual Studio 2010 de code optimaliseert door de uitlijning van de toewijzing van gegevens van 64 bytes naar 16 bytes aan te passen. Daarom een geheugen probleem doet zich voor de objecten die groter zijn dan 64 bytes.
Oplossing
Informatie over de hotfix
Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige hinder ondervindt van dit probleem, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen. Om deze hotfix te downloaden vanaf de MSDN Code Gallery, gaat u naar de volgende Microsoft-website:
http://code.msdn.microsoft.com/KB2280741Opmerking De MSDN Code Gallery geeft de talen waarvoor de hotfix beschikbaar is. Als de taal die niet wordt weergegeven, is het omdat de pagina Galerie met Code bron niet beschikbaar voor die taal is. Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of om een afzonderlijk serviceverzoek aan te maken, gaat u naar de volgende Microsoft-website:
http://support.microsoft.com/contactus/?ws=supportU kunt deze hotfix ook downloaden vanaf de volgende Microsoft-website:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Speciale vereisten
Deze hotfix moet u Visual Studio 2010 geïnstalleerd hebben.
Opnieuw opstarten
U beschikt niet over de computer opnieuw opstarten nadat u de hotfix toepast.
Informatie over het vervangen van hotfixes
Deze hotfix vervangt geen andere hotfixes.
Bestandsgegevens
De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Gebruik het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm om het verschil tussen UTC en lokale tijd.
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
C2.dll |
16.0.30319.345 |
2,510,144 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,588,480 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,630,976 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,977,088 |
01-Aug-2010 |
23:42 |
x64 |
C2.dll |
16.0.30319.345 |
7,351,616 |
01-Aug-2010 |
23:42 |
IA-64 |
Workaround
U kunt dit probleem omzeilen, gebruik niet de compileroptie /O2 bij het samenstellen van het project.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.