Analysieren der Anwendungsqualität mit Codeanalysetools

Das Codeanalysefenster ist in allen Editionen von Visual Studio 2013 verfügbar.

Codeanalysefunktionen

Codeanalysefenster

Codeanalysewarnungen werden nun im Fenster des Codeanalysetools angezeigt.Mithilfe des Fensters können Sie Codeanalysewarnungen verwalten und beheben.

Warnmeldungsfilter

Im Fenster können Sie Meldungen im Codeanalysefenster nach Schlüsselwort, Projekt und Schweregrad filtern.

Hervorhebung im Code-Editor

Beim Auswählen einer Meldung im Fenster "Codeanalyse" wird die entsprechende Zeile im Quellcode-Editor hervorgehoben, in der die Meldung ausgelöst wurde.

C++-Meldungsunterdrückung

Sie können im Codeanalysefenster ein Pragma in den Quellcode einfügen, das eine ausgewählte Warnung unterdrückt.

C++-Regelsätze

Wie bei verwaltetem Code können Sie jetzt die Analyseregeln angeben, die Sie für Codeanalysen anwenden möchten, indem Sie Regelsätze erstellen oder verwenden.

Unterstützung für Windows Store-Apps

Sie können eine Codeanalyse für Visual Basic-, C#- und C/++-Code in Windows Store-Apps ausführen.Weitere Informationen finden Sie unter Analysieren der Codequalität der Windows Store-Apps mit Visual Studio-Codeanalyse im Windows Developer Center.

Neue C++-Parallelitätswarnungen

Mit den neuen Nebenläufigkeitswarnungen können Sie sicherstellen, Disziplinen in C/C++-Multithreadprogrammen zu sperren.Der Analyzer erkennt verschiedene Nebenläufigkeitsfehler, einschließlich potenzieller Racebedingungen, Sperrenreihenfolgenumstellungen, Aufrufer-/Aufgerufener-Sperrenvertragsverletzungen und nicht übereinstimmenden Synchronisierungsvorgängen.

C26100

Racebedingung.Variable <var> sollte von der Sperre <Sperre> geschützt sein.

C26101

Fehler bei der ordnungsgemäßen Verwendung des ineinandergreifenden Vorgangs für Variable <var>.

C26105

Sperrenreihenfolgenverletzung.Beim Abrufen der Sperre <Sperre> mit der Ebene <Ebene> tritt eine Reihenfolgenumstellung auf.

C26110

Fehler des Aufrufers beim Aufrechterhalten der Sperre <lock>, bevor die Funktion <func> aufgerufen wird.

C26111

Fehler des Aufrufers beim Lösen der Sperre <lock>, bevor die Funktion <func> aufgerufen wird.

C26112

Aufrechterhalten von Sperren durch Aufrufer nicht möglich, bevor <func> aufgerufen wird.

C26115

Lösen der Sperre <lock> in der Funktion <func> fehlgeschlagen.

C26116

Einrichtung oder Aufrechterhaltung der Sperre <lock> in <func> fehlgeschlagen.

C26117

Nicht gehaltene Sperre <lock> wird in der Funktion <func> gelöst.

C26130

Die Anmerkung _Requires_lock_held_ (<lock>) oder _No_competing_thread_ fehlt bei der Funktion <func>.Andernfalls kann es sich um eine Racebedingung handeln.Variable <var> sollte von der Sperre <Sperre> geschützt sein.

C26135

Die Anmerkung <annotation> fehlt bei der Funktion <func>.

C26140

Nebenläufigkeitsfehler bei SAL-Anmerkung.

C26160

Möglicher Fehler des Aufrufers beim Aufrechterhalten der Sperre <lock>, bevor die Funktion <func> aufgerufen wird.

C26165

Möglicher Fehler beim Lösen der Sperre

C26166

Möglicher Fehler bei der Einrichtung oder Aufrechterhaltung der Sperre <lock> in der Funktion <func>.

C26167

Möglicherweise wird die nicht gehaltene Sperre <lock> in der Funktion <func> gelöst.

C28101

Das Treibermodul hat abgeleitet, dass die aktuelle Funktion nicht den richtigen Typ aufweist.

C28182

Dereferenzierender NULL-Zeiger.

In diesem Abschnitt

Verwaltete Codeanalyse

Die Codeanalyse für verwalteten Code stellt Informationen zu verwalteten Assemblys bereit, z. B. über Verletzungen der in den Microsoft .NET Framework-Entwurfsrichtlinien dargelegten Programmierungs- und Entwurfsregeln.In diesen Warnmeldungen werden alle relevanten Probleme im Zusammenhang mit Programmierung und Entwurf benannt. Nach Möglichkeit wird außerdem angegeben, wie das jeweilige Problem gelöst werden kann.

C++-Codeanalyse

Das Codeanalysetool für C/C++ liefert Entwicklern Informationen zu möglichen Fehlern im C/C++-Quellcode.Zu den Codierungsfehlern, die das Tool am häufigsten findet, zählen Pufferüberläufe, nicht initialisierter Speicher, Dereferenzierungen von NULL-Zeigern sowie Speicher- und Ressourcenverluste.

Codeanalyse für Treiber

Codeanalysetools können die Stabilität und Zuverlässigkeit des Treibers durch die systematische Analyse des Treiberquellcodes verbessern.

  • Analyzing Driver Quality by Using Code Analysis Tools
    Die Codeanalyse für Treiber ist ein statisches Überprüfungstool zur Kompilierzeit, das grundlegende Codierungsfehler in C- und C++-Programmen erkennt. Sie enthält ein spezialisiertes Modul zur Erkennung von Fehlern im (hauptsächlichen) Kernelmodustreibercode.Der Static Driver Verifier (Statisches Treiber-Prüfmodul, SDV) ist ein statisches Überprüfungstool, das systematisch den Quellcode von Windows-Kernelmodustreibern analysiert.SDV ermittelt, ob der Treiber ordnungsgemäß mit dem Windows-Betriebssystemkernel interagiert.

  • Code Analysis for Drivers Warnings
    Beschreibt die Warnungen, die die Codeanalyse für Treiber meldet, wenn ein möglicher Fehler im Treibercode erkannt wird.

Weitere Themen dieses Abschnitts

  1. Viewing Code Analysis Messages

  2. Verbessern der Codequalität mit Eincheckrichtlinien für das Teamprojekt

Weitere Codeanalyse-Informationen

Verbessern der Codequalität mit Eincheckrichtlinien für das Teamprojekt

Verwandte Aufgaben

  1. Messen von Komplexität und Verwaltbarkeit verwalteten Codes

  2. Überprüfen von Code mithilfe von Komponententests