주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Visual Studio에서 Polyspace as You Code를 실행하고 결과를 검토하세요

Visual Studio®에서 코드를 저장할 때마다 Polyspace® as You Code가 자동으로 실행하도록 선택하거나, 수동으로 실행할 수 있습니다. 분석은 현재 IDE에서 활성화된 파일에 대해 실행됩니다. (해당 파일은 Visual Studio 프로젝트의 일부여야 하며, 이 프로젝트는 Visual Studio 솔루션의 일부가 될 수 있습니다.) 분석 후에는 버그와 코딩 표준 위반 사항을 소스 코드 마커나 별도 목록으로 확인할 수 있습니다.

확장 프로그램 설치 확인

Visual Studio 설치에 Polyspace as You Code 확장자가 있는지 확인하려면 설치된 확장자 목록을 확인하세요. Extensions > Manage Extensions를 선택하고 Installed 창에 Polyspace as You Code가 나타나는지 확인하세요.

Output 보기에서 확장 프로그램이 예상대로 시작되는지 확인할 수도 있습니다. Output 보기에서 Show output from 목록에서 Polyspace as You Code를 선택합니다. 확장 프로그램이 오류 없이 시작되면 다음과 비슷한 메시지가 표시됩니다.

[Information] No setting set for the port. Trying to find a free port.
[Information] Connector was successfully started on port 51294

Polyspace Connector는 Polyspace as You Code 분석 엔진과 Visual Studio 확장 간의 통신을 처리하는 내부 서버입니다. 기본 포트를 사용할 수 없는 경우 확장 기능은 포트 번호를 1씩 증가시키고 이 포트에서 Polyspace Connector를 시작하려고 시도합니다. 여러 개의 Visual Studio 인스턴스를 사용하는 경우 모든 인스턴스에서 Polyspace as You Code를 실행할 수 있습니다. Polyspace Connector는 각 인스턴스마다 다른 포트를 사용합니다.

Polyspace as You Code 관점 열기

Polyspace as You Code 확장 기능은 관련된 모든 Polyspace 보기를 그룹화하는 Visual Studio에 전용 관점을 제공합니다.

Polyspace as You Code 관점을 열려면 Extensions > Polyspace > Open Polyspace Windows를 선택하세요.

Polyspace as You Code 관점의 다양한 보기는 구성 상태와 분석을 위해 선택한 파일에 대한 정보를 보여줍니다. 자세한 내용을 보려면 Configuration 또는 Quality Monitoring 보기에서 Open Polyspace Documentation icon를 클릭하여 문서를 열어보세요.

Quality Monitoring 보기

Quality Monitoring 보기는 분석을 위해 선택한 모든 파일을 표시하며, 각 파일에 대한 분석 상태와 결과 수도 함께 표시됩니다.

파일을 분석하려면 파일을 선택하고 Run Analysis를 클릭하세요. Analyze all files를 클릭하여 순차적인 파일별 분석을 시작할 수도 있습니다.

파일을 저장할 때 Quality Monitoring 보기에 파일을 추가하도록 구성하려면 Configure settings icon를 클릭하세요. Visual Studio에서 Polyspace as You Code 확장 구성 항목을 참조하십시오. 파일을 수동으로 추가하려면 편집기나 Solution Explorer에서 파일을 마우스 오른쪽 버튼으로 클릭하세요.

Headers 보기

파일을 분석할 때 Polyspace는 해당 파일에 포함되어 있고 해당 파일과 같은 폴더에 있는 헤더 파일도 분석합니다. Polyspace가 헤더 파일에 결과를 보고하는 경우 Quality Monitoring 보기에서 분석된 파일 옆에 H가 표시됩니다. 해당 보기에서 분석된 파일을 클릭하면 Headers 보기에 헤더 파일이 나열됩니다.

Polyspace as You Code Headers view in Visual Studio

검색 결과가 포함된 경우에만 헤더 파일이 목록에 표시됩니다. Headers 보기에서 파일을 클릭하면 Error List 보기에서 해당 파일의 결과가 열립니다.

Result Details 보기

Error List 보기 또는 편집기에서 결과를 선택하면 Result Details 보기에 결과에 대한 추가 정보가 표시됩니다. 여기에는 (사용 가능한 경우) 베이스라인에서 가져온 추적 정보와 검토 정보가 포함됩니다.

여러 줄의 코드를 선택하면 Result Details 보기는 선택 항목의 모든 결과에 대한 결과 세부 정보를 표시합니다. 선택한 결과에 대한 상황에 맞는 도움말을 보려면 Visual Studio help를 클릭하세요.

소스 코드나 Error List 보기에서 결과를 찾아보는 동안 이 보기를 잠그려면 Lock the Results List icon를 클릭하세요. 다른 결과를 선택하면 Result Details 보기가 업데이트되지 않습니다. Lock the Results List icon를 다시 클릭하면 Result Details 보기가 잠금 해제됩니다.

Error List 보기

Error List 보기는 모든 분석 결과를 한 줄에 하나씩 나열하여 보여줍니다. 각 줄에는 다음과 같은 추가 정보가 표시됩니다.

  • 결함 또는 코딩 규칙의 이름, 패밀리 및 설명

  • 발견 사항이 포함된 파일의 이름

  • 리뷰 정보

연구 결과는 결과군별로 그룹화됩니다. 그룹화를 변경하거나 결과를 일반 목록으로 보려면 Error List 보기에서 마우스 오른쪽 버튼을 클릭하고 Grouping를 선택하세요. 정렬 기준으로 사용할 열 머리글을 선택하세요.

Polyspace as You Code Error List view in Visual Studio

Error List 보기에 표시되는 결과는 Quality Monitoring 보기에서 선택한 파일에 대한 결과를 나타냅니다. Error List 보기의 결과 수는 변경될 수 있으며 분석된 모든 파일의 결과를 나타내는 것은 아닙니다.

Quality Monitoring 보기에서 파일을 선택하면 Error List 보기에서 다음 결과가 표시됩니다.

  • Quality Monitoring 보기에 나열된 각 파일에는 선택된 파일이 포함됩니다.

  • Quality Monitoring 보기에서 선택한 파일의 헤더 파일입니다.

Quality Monitoring 보기에서 다른 파일을 선택하는 경우:

  • Polyspace는 Error List 보기에서 이전에 선택한 파일의 헤더 파일 결과를 제거합니다.

  • 새로 선택된 파일의 헤더 파일 결과는 Error List 보기에 표시됩니다.

Configuration 보기

Configuration 보기는 현재 Analysis Options 설정과 생성된 빌드 옵션 파일의 상태(해당되는 경우)를 보여줍니다.

이 보기에서는 다음을 수행할 수 있습니다.

Baseline 보기

Polyspace Access™ 베이스라인에 대한 현재 필터 설정, 사용 가능한 로컬 베이스라인 및 다운로드 상태를 확인합니다. 베이스라인 설정을 구성한 경우 Polyspace Access 서버와 베이스라인으로 사용하는 프로젝트에 대한 정보가 표시됩니다. Visual Studio에서 Polyspace as You Code 결과를 베이스라인으로 설정 항목을 참조하십시오.

Visual Studio baseline view

이 보기에서는 다음을 수행할 수 있습니다.

  • 필터 버튼을 클릭하면 베이스라인과 비교했을 때 새로운 결과에 대해서만 필터링을 활성화하거나 비활성화할 수 있습니다.

  • 품질 모니터링 목록에 있는 모든 파일에 대한 로컬 베이스라인을 만듭니다. 로컬 베이스라인을 마우스 오른쪽 버튼으로 클릭하고 Create a local baseline for all files in the Quality Monitoring list를 선택합니다.

  • 로컬 베이스라인을 업데이트하거나 제거합니다. 로컬 베이스라인을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 관련 옵션을 선택합니다.

  • Polyspace Access 베이스라인을 다운로드하거나 업데이트하려면 Download Baseline icon를 클릭하세요.

  • Polyspace Access 인터페이스에서 베이스라인 프로젝트를 열려면 Open basline in Access UI를 클릭하세요.

  • Configure settings icon를 클릭하여 Polyspace Access 베이스라인 설정을 엽니다.

베이스라인 실행의 결과가 Polyspace as You Code 버전보다 오래된 Polyspace 버전으로 생성된 경우 Baseline 보기에서 경고가 표시됩니다.

분석 실행하기

Polyspace as You Code 분석은 두 가지 방법으로 실행할 수 있습니다. Quality Monitoring 보기에 있는 파일을 저장할 때나 수동으로 실행할 수 있습니다.

저장 시 분석 실행

기본적으로 Polyspace as You Code 확장자는 파일을 저장할 때 현재 파일을 Quality Monitoring 보기에 추가하지만 분석을 시작하지는 않습니다.

파일을 저장할 때 현재 파일의 분석을 활성화하려면 Quality Monitoring 보기에서 Configure settings icon를 클릭하고 옵션 대화 상자에서 Start analysis on save를 선택하세요.

분석 후, 발견된 결과가 포함된 소스 코드 줄은 빨간색 밑줄로 표시됩니다. 스크롤 막대에 발견 위치가 빨간색으로 표시됩니다. Error List 보기에서 찾은 결과를 두 번 클릭하면 해당 소스 코드로 이동합니다. 분석에 실패하면 Output 보기의 메시지를 확인하여 실패 원인을 진단합니다.

결과가 나타나지 않으면 Polyspace as You Code에서 실패한 분석이나 예상치 못한 결과를 문제 해결하세요를 참조하세요.

수동으로 분석 실행

파일을 저장할 때 분석 시작을 비활성화하려면 도구 > 옵션을 선택하여 옵션 대화 상자를 열고 Polyspace as You Code > Analysis Options 노드를 선택한 다음 Start analysis on save 체크박스의 선택을 취소합니다. 수동으로 분석을 시작하려면 다음 중 하나를 수행하세요.

  • Quality Monitoring 보기에서 Run Polyspace Analysis icon를 클릭하면 선택한 파일에 대한 분석을 실행할 수 있습니다.

  • Quality Monitoring 보기에서 Analyze all files sequentially icon를 클릭하면 Quality Monitoring 목록에 있는 각 파일에 대해 순차적으로 분석을 실행할 수 있습니다.

  • 편집기에서 파일을 마우스 오른쪽 버튼으로 클릭하고 Polyspace > Run Polyspace Analysis를 선택하면 편집기에 열려 있는 파일에 대한 분석을 실행할 수 있습니다.

결과 검토하기

분석 후 결과는 두 가지 형태로 나타납니다.

  • 소스 코드에서 빨간색 밑줄이 그어져 있습니다.

  • Error List 보기의 목록으로.

    Error List 보기에서 결과를 선택하면 Result Details 보기에서 해당 결과에 대한 추가 세부 정보를 볼 수 있습니다. 현재 선택된 결과에 대한 상황에 맞는 도움말을 열려면 open contextual help icon를 클릭하세요.

Example of Polyspace as You Code results in Visual Studio

일반적인 결함 또는 코딩 규칙 위반에 대한 제안된 수정 사항 적용

Polyspace가 코드에서 일반적인 결함이나 코딩 규칙 위반 사항을 보고하면 Polyspace as You Code 확장 프로그램은 이러한 결과에 적용할 수 있는 하나 이상의 수정 사항을 제안합니다.

빠른 수정을 적용하려면 편집기나 Error List 패널에서 결과를 선택한 다음, 전구 메뉴에서 적절한 옵션을 클릭합니다. 빠른 수정 옵션의 형식은 checkerName 수정: proposedFix입니다. 여기서 checkerName는 선택된 결함 체커(검사 항목) 또는 코딩 규칙의 이름이고, proposedFix는 Polyspace가 코드에 적용하는 수정 사항입니다. Polyspace는 코드를 편집하고 선택한 옵션에 따라 현재 활성 파일에 있는 문제 또는 문제의 모든 인스턴스를 수정합니다. 제안된 수정 사항이 두 개 이상인 경우 메뉴에서 사용 가능한 수정 사항을 모두 볼 수 있습니다.

Visual Studio apply quick fix using contextual menu

이 표는 Polyspace가 수정을 제안하는 일반적인 결함과 코딩 규칙 위반 사항을 나열하고, 이러한 문제를 보고하는 Polyspace 체커(검사 항목)도 나열합니다.

일반적인 결함 또는 코딩 규칙 위반문제를 보고하는 Polyspace 체커(검사 항목)
컴파일 시간에 constexpr 지정자가 없는 경우 평가될 수 있는 함수
값으로 객체를 캐스팅하기 위해 std::any_cast를 비효율적으로 사용함
std::string operator+()의 비효율적인 사용
std::map 또는 std::unordered_map의 키에 값을 삽입하거나 할당하기 위해 [] 연산자를 비효율적으로 사용함(C++ 17 이상만 해당)
값으로 전달된 파라미터는 비용이 많이 드는 복사를 초래합니다.
값으로 전달된 수정되지 않은 복사 비용이 많이 드는 파라미터
수정되지 않은 로컬 변수는 const 참조에서 값비싼 복사로 생성됩니다.
수정되지 않은 변수가 선언되지 않았습니다 const
반환 문에서 std::move에 대한 불필요한 호출
사용하지 않은 include
사용되지 않은 파라미터
std::endl의 사용

코드 주석을 사용하여 결과 정당화

결과를 수정하지 않기로 결정한 경우 코드 주석을 추가하여 결과를 정당화할 수 있습니다. 주석이 특정 구문을 따르는 경우 후속 Polyspace as You Code 실행은 이러한 주석을 읽고 해당 결과를 억제할 수 있습니다.

  • 코드 주석을 추가하려면 Error List 보기에서 찾은 결과를 마우스 오른쪽 버튼으로 클릭하고 Polyspace > Justify the current result를 선택하세요. 주석은 결과와 같은 줄에 입력됩니다. 해당 결과에 대한 코드 마커를 가리켜서 주석을 적용할 수도 있습니다.

  • 현재 파일에서 동일한 결함이나 코딩 규칙 위반에 대한 모든 결과를 정당화하려면 Error List 보기에서 결과를 마우스 오른쪽 버튼으로 클릭하고 Polyspace > Justify all instances of the selected finding를 선택합니다. Polyspace는 이 결과가 포함된 각 줄에 주석을 삽입합니다.

  • 베이스라인 실행에서 검토 정보를 가져오는 경우 베이스라인 실행의 모든 상태, 심각도 또는 의견이 자동으로 해당 Polyspace as You Code 결과에 적용됩니다.

    가져온 상태가 Not a defect, Justified 또는 No action planned인 결과는 Error List 보기에서 제거되고 해당 결과는 후속 분석에서 억제됩니다.

Polyspace as You Code는 /* */ 또는 C 파일에 주석으로 코드 주석을 삽입하고, C++ 파일에서는 //로 시작합니다. C 파일의 주석 형식은 MISRA C:2004 rule 2.2를 준수합니다. MISRA C:2004 and MISRA AC AGC Rules (Polyspace Bug Finder) 항목을 참조하십시오.

또한 참조하세요:

결과에 대한 상황에 맞는 도움말 보기

해당 결과에 대한 상황에 맞는 도움말 페이지를 방문하면 결과 유형에 대한 자세한 정보를 볼 수 있습니다.

검색 결과에 대한 상황에 맞는 도움말을 열려면 코드나 Error List에서 해당 검색 결과를 선택한 다음 Result Details 보기에서 Visual Studio help icon를 클릭합니다.

Baseline, Configuration 또는 Quality Monitoring 보기에서 Visual Studio open Polyspace documentation icon를 클릭하면 시스템 브라우저에서 Polyspace as You Code 확장 프로그램에 대한 전체 검색 가능 문서를 열 수도 있습니다.

체커(검사 항목) 및 기타 설정 구성

Polyspace as You Code는 기본적인 결함 하위 집합을 검사하지만, Visual Studio의 Polyspace as You Code 확장 설정을 통해 체커(검사 항목) 집합을 확장하고 다른 구성을 수행할 수 있습니다.

예를 들어, 다음을 수행할 수 있습니다.

확장 설정을 열려면 Tools > Options를 선택하여 옵션 대화 상자를 연 다음 Polyspace as You Code 노드를 선택하세요. 전체 설정 목록은 Visual Studio에서 Polyspace as You Code 확장 구성를 참조하세요.