Si verifica un errore di violazione di accesso quando si esegue un'applicazione Visual c ++ 2010 è stata progettata per una piattaforma x 64, se è attivata un'opzione del compilatore di ottimizzazione

Identificativo articolo: 2485545
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri il seguente scenario:
  • Si crea un progetto Microsoft Visual c ++ 2010.
  • Si utilizza una funzione che restituisce una variabile locale è maggiore di 64 byte.
  • Si attiva un'opzione del compilatore di ottimizzazione per il progetto. Ad esempio, si attiva ilOttimizza velocità (/ O2)opzione del compilatore di ottimizzazione.
  • Generazione del progetto per piattaforma x 64 utilizzando Microsoft Visual Studio 2010 e quindi si tenta di eseguire l'applicazione incorporato.
In questo scenario si verifica un errore di violazione di accesso e arresto anomalo dell'applicazione.

Cause

Questo problema si verifica perché il codice generato dal compilatore chiama un'istruzione che richiede un buffer di dati allineato in blocchi di 16 byte. Ad esempio, il codice chiama unMOVAPDoMOVDQAistruzione. Tuttavia, il buffer di dati potrebbe essere non allineato. Di conseguenza, una violazione di accesso si verifica quando l'applicazione utilizza l'istruzione per tentare di scrivere una variabile locale ottimizzata in un buffer di dati non allineati.

Risoluzione

Informazioni sull'aggiornamento rapido

Un hotfix supportato è disponibile da Microsoft. Tuttavia, esso è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico. Questo hotfix venga eseguite ulteriori verifiche. Se il problema non causa gravi difficoltà, si consiglia di attendere il prossimo aggiornamento software contenente tale hotfix.

Per risolvere immediatamente il problema, contattare il servizio di supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono del servizio supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
NotaIn casi particolari, le spese normalmente addebitate per le chiamate al servizio supporto tecnico clienti Microsoft potrebbero essere annullate qualora un addetto del supporto tecnico Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto usuali verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

Per applicare questo hotfix, è necessario disporre di Microsoft Visual Studio 2010 installato.

Richiesta di riavvio

Non è necessario riavviare il computer dopo l'installazione di questo aggiornamento rapido.

Informazioni sulla sostituzione dell'hotfix

Questo hotfix non sostituisce eventuali altri hotfix.

Informazioni sui file

La versione inglese di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file elencate UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sui file, viene convertito nell'ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare ilFuso orarioscheda diData e oraelemento nel Pannello di controllo.
Per tutte le versioni supportate di Team Foundation Server 2008
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
C2.dll16.0.30319.4132,508,09601-Jan-201102: 33x 86
C2.dll16.0.30319.4132,627,39201-Jan-201102: 33x 86
C2.dll16.0.30319.4132,975,55201-Jan-201102: 33x 64

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati Nella sezione "Si applica a".

Proprietà

Identificativo articolo: 2485545 - Ultima modifica: lunedì 31 gennaio 2011 - Revisione: 1.0
Chiavi: 
kbfix kbqfe kbhotfixserver kbexpertiseadvanced kbsurveynew kbmt KB2485545 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2485545
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti