코드 분석 도구를 사용하여 응용 프로그램 품질 분석

코드 분석 창은 Visual Studio 2013의 모든 버전에서 사용할 수 있습니다.

코드 분석 기능

코드 분석 창

이제 코드 분석 도구 창에 코드 분석 경고가 나타납니다.이 창에서는 코드 분석 경고를 관리 및 해결할 수 있습니다.

경고 메시지 필터링

창에서 키워드, 프로젝트 및 심각도별로 코드 분석 창의 메시지를 필터링할 수 있습니다.

코드 편집기 강조 표시

코드 분석 창에서 메시지를 선택하면 메시지가 트리거된 줄이 소스 코드 편집기에서 강조 표시됩니다.

C++ 메시지 표시 안 함

코드 분석 창에서, 선택한 경고를 표시하지 않는 pragma를 소스 코드에 삽입할 수 있습니다.

C++ 규칙 집합

이제 관리 코드와 같이, 규칙 집합을 만들거나 사용하여 코드 분석 실행에 적용하려는 분석 규칙을 지정할 수 있습니다.

Windows 스토어 앱에 대한 지원

Windows 스토어 앱에서 Visual Basic, C# 및 C/++ 코드에 대한 코드 분석을 실행할 수 있습니다.자세한 내용은 Windows 개발자 센터에서 Visual Studio 코드 분석을 사용하여 Windows 스토어 앱의 코드 품질 분석을 참조하세요.

새 C++ 동시성 경고

새 동시성 경고는 다중 스레드 C/C++ 프로그램에서 잠금 분야를 확인하는 데 도움이 됩니다.분석기는 잠재적 경합 상태, 잠금 순서 반전, 호출자/호출 수신자 잠금 계약 위반, 일치하지 않는 동기화 작업 등의 많은 동시성 버그를 검색합니다.

C26100

경합 상태.<var> 변수는 <lock> 잠금으로 보호되어야 합니다.

C26101

<var> 변수에 연관 작업을 적절하게 사용할 수 없습니다.

C26105

잠금 순서 위반.<level> 수준으로 <lock> 잠금을 가져오면 순서가 반전됩니다.

C26110

호출자가 <func> 함수를 호출하기 전에 <lock> 잠금을 유지할 수 없습니다.

C26111

호출자가 <func> 함수를 호출하기 전에 <lock> 잠금을 해제할 수 없습니다.

C26112

호출자가 <func> 함수를 호출하기 전에 잠금을 유지할 수 없습니다.

C26115

<func> 함수에서 <lock> 잠금을 해제할 수 없습니다.

C26116

<func> 함수에서 <lock> 잠금을 가져오거나 유지할 수 없습니다.

C26117

<func> 함수에서 유지되지 않은 <lock> 잠금을 해제합니다.

C26130

<func> 함수에서 주석 _Requires_lock_held_(<lock>) 또는 _No_competing_thread_가 누락되었습니다.누락되지 않은 경우 경합 상태일 수 있습니다.<var> 변수는 <lock> 잠금으로 보호되어야 합니다.

C26135

<func> 함수에서 <annotation> 주석이 누락되었습니다.

C26140

동시성 SAL 주석 오류

C26160

호출자가 <func> 함수를 호출하기 전에 <lock> 잠금을 유지할 수 없습니다.

C26165

잠금을 해제할 수 없습니다.

C26166

<func> 함수에서 <lock> 잠금을 가져오거나 유지할 수 없습니다.

C26167

<func> 함수에서 유지되지 않은 <lock> 잠금을 해제할 수 있습니다.

C28101

드라이버 모듈에서 현재 함수가 함수의 잘못된 형식인 것으로 유추했습니다.

C28182

NULL 포인터 역참조

단원 내용

관리 코드 분석

관리 코드에 대한 코드 분석에서는 Microsoft .NET Framework 디자인 지침에 명시된 프로그래밍 및 디자인 규칙의 위반과 같은 관리되는 어셈블리 관련 정보를 제공합니다.경고 메시지는 관련 프로그래밍 및 디자인 문제를 식별하며 가능한 경우 문제 해결 방법에 대한 정보를 제공합니다.

C++ 코드 분석

C/C++ 코드 분석 도구는 C/C++ 소스 코드에서 발생할 수 있는 오류에 대한 정보를 개발자에게 제공합니다.이 도구를 통해 보고되는 일반적인 코딩 오류에는 버퍼 오버런, 초기화되지 않은 메모리, null 포인터 역참조, 메모리 및 리소스 누수 등이 포함됩니다.

드라이버에 대한 코드 분석

코드 분석 도구는 드라이버 소스 코드를 체계적으로 분석하여 안정성과 드라이버의 신뢰성을 향상시킬 수 있습니다.

  • Analyzing Driver Quality by Using Code Analysis Tools
    드라이버에 대한 코드 분석은 기본적인 C 및 C++ 프로그램의 오류 코드를 감지하고 (주로) 커널 모드 드라이버 코드에서 오류를 검색하도록 설계된 특수한 모듈을 포함하는 컴파일 시간 정적 확인 도구입니다.SDV(정적 드라이버 확인 프로그램)는 Windows 커널 모드 드라이버의 소스 코드를 체계적으로 분석하는 정적 검증 도구입니다.SDV는 드라이버가 Windows 운영 체제 커널과 제대로 상호 작용하는지 여부를 결정합니다.

  • Code Analysis for Drivers Warnings
    드라이버에 대한 코드 분석이 드라이버 코드에서 가능한 오류를 검색할 때 보고하는 경고에 대해 설명합니다.

이 단원의 추가 항목

  1. Viewing Code Analysis Messages

  2. 팀 프로젝트 체크 인 정책을 사용하여 코드 품질 향상

자세한 코드 분석 정보

팀 프로젝트 체크 인 정책을 사용하여 코드 품질 향상

관련 작업

  1. 관리 코드의 복잡성 및 유지 관리 용이성 측정

  2. 단위 테스트를 사용하여 코드 확인