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. |
Il 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.
Nuovi 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.
Race condition.La variabile <var> deve essere protetta dal blocco <lock>. |
|
Impossibile utilizzare correttamente l'operazione di interlock per la variabile <var>. |
|
Violazione di ordinamento del blocco.Acquisire il blocco <lock> con il livello <level> causa l'inversione dell'ordinamento. |
|
Il chiamante non riesce a mantenere il blocco <lock> prima di chiamare la funzione <func>. |
|
Il chiamante non riesce a rilasciare il blocco <lock> prima di chiamare la funzione <func>. |
|
Il chiamante non può utilizzare alcun blocco prima di chiamare <func>. |
|
Fallimento del rilascio del blocco <lock> nella funzione <func>. |
|
Fallimento nell'ottenere o nel trattenere il blocco <lock> in <func>. |
|
Rilascio del blocco non posseduto <lock> nella funzione <func>. |
|
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>. |
|
Annotazione <annotation> mancante alla funzione <func>. |
|
Errore di annotazione di concorrenza SAL |
|
Il chiamante probabilmente non riesce a mantenere il blocco <lock> prima di chiamare la funzione <func>. |
|
Probabili fallimenti nel rilasciare il blocco |
|
Probabilmente è impossibile acquisire o mantenere il blocco <lock> nella funzione <func>. |
|
Probabile rilascio di un blocco <lock> non posseduto nella funzione <func>. |
|
Nel modulo dei driver è stato dedotto che il tipo della funzione corrente non è corretto |
|
Dereferenziazione del puntatore NULL |
Argomenti della sezione
Analisi 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.
Analisi della qualità del codice gestito tramite analisi del codice
Viene descritto come configurare ed eseguire lo strumento di analisi del codice gestito.Analisi del codice per gli avvisi del codice gestito
Vengono descritti gli avvisi riportati dall'analisi del codice su codice C/C++.
Analisi 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.
Verifica della qualità del codice C/C++ tramite analisi del codice
Viene descritto come configurare ed eseguire lo strumento di analisi del codice C/C++.Avvisi dell'analisi codice per il linguaggio C/C++
Vengono descritti gli avvisi riportati dall'analisi del codice su codice C/C++.
Analisi 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.
Altri argomenti trattati in questa sezione
Più informazioni di analisi codice
- Miglioramento della qualità del codice con i criteri di archiviazione del progetto team
Inserire qui la descrizione.
Attività correlate
Misurazione della complessità e della manutenibilità del codice gestito
Inserire qui la descrizione.Verifica del codice tramite unit test
Inserire qui la descrizione.