Übersicht über die Codeanalyse für C/C++Code analysis for C/C++ overview

Das c/C++ Code Analysis-Tool stellt Informationen zu möglichen Fehlern in Ihrem cC++ /Quellcode-Code bereit.The C/C++ Code Analysis tool provides information about possible defects in your C/C++ source code. 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.Common coding errors reported by the tool include buffer overruns, uninitialized memory, null pointer dereferences, and memory and resource leaks. Das Tool kann auch Überprüfungen anhand der C++ wichtigsten Richtlinienausführen.The tool can also run checks against the C++ Core Guidelines.

Integration der IDE (integrierte Entwicklungsumgebung)IDE (integrated development environment) integration

Das Code Analysetool ist vollständig in die Visual Studio-IDE integriert.The code analysis tool is fully integrated within the Visual Studio IDE.

Während des Buildprozesses werden alle für den Quellcode generierten Warnungen in der Fehlerliste angezeigt.During the build process, any warnings generated for the source code appear in the Error List. Sie können dadurch zu den Quellcodebestandteilen navigieren, die die Warnung ausgelöst haben, und zusätzliche Informationen zu den Gründen sowie mögliche Lösungen für die Probleme abrufen.You can navigate to source code that caused the warning, and you can view additional information about the cause and possible solutions of the issue.

Befehlszeilen UnterstützungCommand line support

Sie können das Analysetool auch über die Befehlszeile verwenden, wie im folgenden Beispiel gezeigt:You can also use the analysis tool from the command line, as shown in the following example:

C:\>cl /analyze Sample.cpp

Visual Studio 2017 Version 15,7 und höher: Sie können das Tool in der Befehlszeile mit jedem Buildsystem ausführen, einschließlich cmake.Visual Studio 2017 version 15.7 and later: You can run the tool from the command line with any build system including CMake.

#pragma Unterstützung#pragma support

Sie können die #pragma-Direktive verwenden, um Warnungen als Fehler zu behandeln. Aktivieren oder deaktivieren Sie Warnungen, und unterdrücken Sie Warnungen für einzelne Codezeilen.You can use the #pragma directive to treat warnings as errors; enable or disable warnings, and suppress warnings for individual lines of code. Weitere Informationen finden Sie unter Pragma-Direktiven und das __Pragma-Schlüsselwort.For more information, see Pragma Directives and the __Pragma Keyword.

Unterstützung der AnmerkungAnnotation support

Mithilfe von Anmerkungen wird die Codeanalyse genauer.Annotations improve the accuracy of the code analysis. Sie enthalten zusätzliche Informationen zu Vorabbedingungen und nachträglichen Bedingungen für Funktionsparameter und Rückgabetypen.Annotations provide additional information about pre- and post- conditions on function parameters and return types. Weitere Informationen finden Sie unter Verwenden von Sal-Anmerkungen zum Reduzieren vonC++ C/Code-Fehlern.For more information, see Using SAL Annotations to Reduce C/C++ Code Defects.

Ausführen des Analysetools im Rahmen einer EincheckrichtlinieRun analysis tool as part of check-in policy

Möglicherweise möchten Sie festlegen, dass beim Quellcode-Check-In stets bestimmte Richtlinien beachtet werden müssen.You might want to require that all source code check-ins satisfy certain policies. Insbesondere sollten Sie sicherstellen, dass die Analyse im Rahmen des aktuellen lokalen Builds durchgeführt wurde.In particular, you want to make sure that analysis was run as a step of the most recent local build. Weitere Informationen zum Aktivieren einer Eincheck Richtlinie für die Code Analyse finden Sie unter Erstellen und Verwenden von Eincheck Richtlinien für die Code Analyse.For more information about enabling a code analysis check-in policy, see Creating and Using Code Analysis Check-In Policies.

Team Build-IntegrationTeam Build integration

Sie können die integrierten Funktionen des Buildsystems verwenden, um das Code Analysetool als Schritt des Azure devops-Buildprozesses auszuführen.You can use the integrated features of the build system to run code analysis tool as a step of the Azure DevOps build process. Weitere Informationen finden Sie unter Azure Pipelines.For more information, see Azure Pipelines.

Weitere InformationenSee also