Condividi tramite


Analisi della qualità dell'applicazione tramite gli strumenti di analisi del codice

Novità di Visual Studio 2012

Finestra Analisi codice

Gli avvisi dell'analisi del codice ora appaiono nella finestra degli strumenti di analisi del codice.La finestra aiuta a gestire e risolvere gli avvisi di analisi del codice.

Filtro dei messaggi di avviso.

Nella finestra è possibile filtrare i messaggi nella finestra di analisi del codice per parola chiave, progetto e livello di gravità.

L'evidenziazione dell'editor del codice

Selezionando un messaggio nella finestra di analisi del codice, verrà evidenziata la riga nell'editor del codice sorgente in cui il messaggio è stato attivato.

soppressione dei messaggi C++

Nella finestra di analisi del codice, è possibile inserire un pragma nel codice sorgente che sopprime un avviso selezionato.

Set di regole di C++

Come nel codice gestito, adesso è possibile specificare le regole di analisi che si desiderano applicare alle esecuzioni di analisi del codice creando o utilizzando i set di regole.

Dd264897.collapse_all(it-it,VS.110).gifIl supporto per le finestre archivia le applicazioni

È possibile eseguire l'analisi codice sul codice Visual Basic, c e di C/++ nelle applicazioni di archivio di Windows.Per ulteriori informazioni, vedere Analizzando la qualità del codice di Windows archiviare le applicazioni con analisi codice di Visual Studio nel centro per sviluppatori di Windows.

Dd264897.collapse_all(it-it,VS.110).gifNuovi avvisi di concorrenza di C++

Nuovi avvisi di concorrenza contribuiscono a garantire discipline di bloccaggio nei programmi C/C++ multithread.L'analizzatore rileva una serie di bug di concorrenza, includendo potenziali race condition, inversioni di ordinamento del blocco, violazioni del contratto di bloccaggio tra chiamante/chiamato e operazioni di sincronizzazione non corrispondenti.

C26100

Race condition.La variabile <var> deve essere protetta dal blocco <lock>.

C26101

Impossibile utilizzare correttamente l'operazione di interlock per la variabile <var>.

C26105

Violazione di ordinamento del blocco.Acquisire il blocco <lock> con il livello <level> causa l'inversione dell'ordinamento.

C26110

Il chiamante non riesce a mantenere il blocco <lock> prima di chiamare la funzione <func>.

C26111

Il chiamante non riesce a rilasciare il blocco <lock> prima di chiamare la funzione <func>.

C26112

Il chiamante non può utilizzare alcun blocco prima di chiamare <func>.

C26115

Fallimento del rilascio del blocco <lock> nella funzione <func>.

C26116

Fallimento nell'ottenere o nel trattenere il blocco <lock> in <func>.

C26117

Rilascio del blocco non posseduto <lock> nella funzione <func>.

C26130

Annotazione _Requires_lock_held_ (<lock>) o _No_competing_thread_ mancante alla funzione <func>.In caso contrario potrebbe verificarsi una race condition.La variabile <var> deve essere protetta dal blocco <lock>.

C26135

Annotazione <annotation> mancante alla funzione <func>.

C26140

Errore di annotazione di concorrenza SAL

C26160

Il chiamante probabilmente non riesce a mantenere il blocco <lock> prima di chiamare la funzione <func>.

C26165

Probabili fallimenti nel rilasciare il blocco

C26166

Probabilmente è impossibile acquisire o mantenere il blocco <lock> nella funzione <func>.

C26167

Probabile rilascio di un blocco <lock> non posseduto nella funzione <func>.

C28101

Nel modulo dei driver è stato dedotto che il tipo della funzione corrente non è corretto

C28182

Dereferenziazione del puntatore NULL

Argomenti della sezione

Dd264897.collapse_all(it-it,VS.110).gifAnalisi del Codice Gestito

L'analisi del codice gestito fornisce informazioni su gli assembly gestiti, ad esempio le violazioni delle regole di programmazione e progettazione definite nelle linee guida di progettazione di Microsoft .NET Framework.I messaggi di avviso identificano eventuali problemi di programmazione e progettazione e, se possibile, forniscono informazioni su come risolverli.

Dd264897.collapse_all(it-it,VS.110).gifAnalisi codice C++

Lo strumento di analisi del codice C/C++ fornisce informazioni destinate agli sviluppatori sui possibili errori nel codice sorgente C/C++.Gli errori di codifica più comuni segnalati dallo strumento includono i sovraccarichi del buffer, l'annullamento dell'inizializzazione della memoria, le dereferenziazioni al puntatore null e le perdite di memoria e risorse.

Dd264897.collapse_all(it-it,VS.110).gifAnalisi del codice per i driver

Gli strumenti di analisi codice consentono di migliorare la stabilità e l'affidabilità del driver analizzando sistematicamente il codice sorgente del driver.

  • Analyzing Driver Quality by Using Code Analysis Tools
    Analisi del codice dei driver è uno strumento di verifica statica in fase di compilazione che rileva gli errori di codifica di base nei programmi C e C++ e include un modulo specializzato progettato per rilevare gli errori (principalmente) nel codice del driver in modalità kernel.La verifica statica del driver (SDV) è uno strumento statico di verifica che analizza sistematicamente il codice sorgente dei driver in modalità kernel di Windows.SDV determina se il driver interagisce correttamente con il kernel del sistema operativo Windows.

  • Code Analysis for Drivers Warnings
    Vengono descritti gli avvisi che l'analisi del codice per i driver riferisce quando viene rilevato un errore del codice del driver.

Dd264897.collapse_all(it-it,VS.110).gifAltri argomenti trattati in questa sezione

Più informazioni di analisi codice

Attività correlate