Share via


C/C++ için kod analizine genel bakış

C/C++ Kod Analizi aracı, C/C++ kaynak kodunuzdaki olası hatalarla ilgili bilgi sağlar. Araç tarafından bildirilen yaygın kodlama hataları arabellek taşmalarını, başlatılmamış belleği, null işaretçi başvurularını ve bellek ve kaynak sızıntılarını içerir. Araç, C++ Çekirdek Yönergelerine göre denetimler de çalıştırabilir.

IDE (tümleşik geliştirme ortamı) tümleştirmesi

Kod çözümleme aracı, Visual Studio IDE ile tamamen tümleşiktir.

Derleme işlemi sırasında, kaynak kod için oluşturulan tüm uyarılar Hata Listesi'nde görünür. Uyarıya neden olan kaynak koduna gidebilir ve sorunun nedeni ve olası çözümleri hakkında ek bilgileri görüntüleyebilirsiniz.

Komut satırı desteği

Aşağıdaki örnekte gösterildiği gibi, komut satırından analiz aracını da kullanabilirsiniz:

C:\>cl /analyze Sample.cpp

Visual Studio 2017 sürüm 15.7 ve üzeri: Aracı komut satırından CMake de dahil olmak üzere herhangi bir derleme sistemiyle çalıştırabilirsiniz.

#pragma desteği

Uyarılara hata muamelesi #pragma yapmak, uyarıları etkinleştirmek veya devre dışı bırakmak ve tek tek kod satırları için uyarıları bastırmak için yönergesini kullanabilirsiniz. Daha fazla bilgi için bkz . Pragma yönergeleri ve __pragma ve _Pragma anahtar sözcükleri.

Ek açıklama desteği

Ek açıklamalar kod analizinin doğruluğunu artırır. Ek açıklamalar, işlev parametreleri ve dönüş türleriyle ilgili ön ve son koşullar hakkında ek bilgi sağlar. Daha fazla bilgi için bkz . C/C++ Kod Hatalarını Azaltmak için SAL Ek Açıklamalarını Kullanma.

İade ilkesinin bir parçası olarak çözümleme aracını çalıştırma

Tüm kaynak kodu iadelerinin belirli ilkeleri karşılamasını zorunlu kılmasını isteyebilirsiniz. Özellikle, çözümlemenin en son yerel derlemenin bir adımı olarak çalıştırıldığından emin olmak istiyorsunuz. Kod analizi iade ilkesini etkinleştirme hakkında daha fazla bilgi için bkz . Kod Analizi İade İlkelerini Oluşturma ve Kullanma.

Ekip Derlemesi tümleştirmesi

Azure DevOps derleme işleminin bir adımı olarak kod analizi aracını çalıştırmak için derleme sisteminin tümleşik özelliklerini kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Pipelines.

Ayrıca bkz.