FIX: Un comportamento imprevisto quando si esegue un'applicazione di Visual Studio 2008 Service Pack 1 generata che chiama la funzione setjmp o longjmp in un file di origine

Traduzione articoli Traduzione articoli
Identificativo articolo: 2498381
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri il seguente scenario:
  • Si attiva il (opzione di ottimizzazione globale/Og), consentendo una delle seguenti opzioni:
    • /O1á
    • / O2á
    • /Oxá
  • ╚ possibile creare un file di origine di Microsoft Visual C++ utilizzando Microsoft Visual Studio 2008 Service Pack 1 (SP1).
  • Le chiamate di file di origine delsetjmpfunzione, illongjmpfunzione, o entrambe le funzioni.

In questo scenario, il compilatore pu˛ utilizzare lo stesso offset dello stack per memorizzare le variabili locali diverse. Di conseguenza, un comportamento imprevisto pu˛ verificarsi quando si esegue l'applicazione generata.

Cause

Questo problema si verifica perchÚ query optimizer non tiene conto di setjmpfunzione o illongjmpfunzione. In questo modo l'utilitÓ di ottimizzazione calcolare correttamente la durata delle variabili locali. Quando viene modificata una variabile, un'altra variabile pu˛ essere modificata in modo imprevisto.

Risoluzione

Informazioni sull'aggiornamento rapido

╚ disponibile un hotfix supportato. Tuttavia, questo hotfix Ŕ destinato a correggere il problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verificano il problema descritto in questo articolo. Questo hotfix vengano eseguiti ulteriori test. 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 clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota In casi particolari, le spese normalmente addebitate per le chiamate al servizio supporto tecnico clienti Microsoft potrebbero essere annullate qualora un addetto del supporto Microsoft determina che uno specifico aggiornamento risolverÓ il problema. I costi di supporto standard verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Per scaricare questo aggiornamento rapido dalla raccolta di codice Microsoft Developer Network (MSDN), visitare il seguente sito Web Microsoft:
http://code.msdn.microsoft.com/KB2498381

Nota MSDN Code Gallery vengono visualizzate le lingue per cui Ŕ disponibile l'aggiornamento rapido. Se non Ŕ disponibile la lingua desiderata nell'elenco, Ŕ perchÚ la pagina delle risorse Code Gallery non Ŕ disponibile per tale lingua.

In alternativa, Ŕ possibile scaricare questo aggiornamento rapido dal seguente sito Web Microsoft Connect:
https://Connect.microsoft.com/VisualStudio/downloads/DownloadDetails.aspx?DownloadID = 34826

Prerequisiti

Per applicare questo hotfix, Ŕ necessario disporre di Microsoft Visual Studio 2008 Service Pack 1 installato.

Informazioni sul riavvio

Non Ŕ necessario riavviare il computer dopo avere installato questo hotfix se si sono arrestata tutte le istanze di Visual Studio.

Informazioni sulla sostituzione dell'hotfix

Questo hotfix non sostituisce un aggiornamento rapido precedentemente rilasciato.

Informazioni sui file

La versione globale di questo hotfix consente di installare i file con gli attributi elencati nelle tabelle seguenti. Le date e le ore dei file elencate UTC (Coordinated Universal Time). Le date e le ore dei file sul computer locale vengono visualizzate nell'ora locale con la differenza dell'ora legale. Inoltre, le date e gli orari cambiano quando si eseguono determinate operazioni sui file.
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
C2. dll15.0.30729.61472,283,84025-Feb-201101: 25x86
C2. dll15.0.30729.61472,362,68825-Feb-201101: 25x86
C2. dll15.0.30729.61472,493,24825-Feb-201101: 25x86
C2. dll15.0.30729.61473,018,04825-Feb-201101: 25x64
C2. dll15.0.30729.61477,263,04025-Feb-201101: 25IA-64
Link. exe9.0.30729.61471,055,56025-Feb-201101: 25x64
Link. exe9.0.30729.61472,135,36825-Feb-201101: 25IA-64
Link. exe9.0.30729.6147800,58425-Feb-201101: 25x86



Workaround

Per aggirare il problema, inizializzare le variabili locali all'inizio della funzione in modo che il compilatore pu˛ essere a conoscenza di durata le variabili.

Status

Microsoft ha confermato che questo Ŕ un problema con i prodotti elencati nella sezione "Si applica a".

Informazioni

Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

ProprietÓ

Identificativo articolo: 2498381 - Ultima modifica: giovedý 21 aprile 2011 - Revisione: 2.0
Chiavi:á
kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug kbmt KB2498381 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: 2498381
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

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com