주요 콘텐츠

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

플러그인 없이 IDE 및 편집기에 Polyspace as You Code 통합

Polyspace as You Code는 확장 기능이나 플러그인을 통해 다음 IDE를 지원합니다: Visual Studio, Visual Studio Code, Eclipse. IDE가 Polyspace as You Code 플러그인을 명시적으로 지원하지 않더라도 IDE 내에서 콘솔을 열고 Polyspace as You Code 명령을 실행하거나, 현재 IDE에 열려 있는 파일에 명령을 실행하기 위한 메뉴 항목을 만들 수 있습니다.

이 주제에서는 Notepad++와 같은 간단한 편집기에 Polyspace as You Code를 통합하는 방법을 보여줍니다. 여기에 제시된 원칙을 사용하면 대부분의 편집기나 IDE에 Polyspace as You Code를 통합할 수 있습니다.

접근 방식 개요

지원되는 IDE에서 Polyspace as You Code 확장을 사용하면 현재 IDE에서 활성화된 파일을 분석하고 IDE 내에서 결과를 볼 수 있습니다(소스 코드 마커 또는 목록으로). 지원되지 않는 IDE나 편집기에서는 이 워크플로를 부분적으로 에뮬레이션할 수 있습니다. 즉, IDE 내에서 분석을 실행하고 결과를 볼 수 있습니다. 워크플로는 두 단계로 구성됩니다.

  • 분석 실행 및 결과 내보내기

    대부분의 IDE나 편집기는 현재 파일 경로를 확인하는 환경 변수를 제공합니다. 이 경로에서 polyspace-bug-finder-access 명령을 실행하는 스크립트를 실행하는 메뉴 항목을 만들 수 있습니다. 동일한 스크립트에서 결과를 IDE 콘솔로 내보낼 수 있습니다.

  • 줄 탐색을 허용하기 위한 콘솔 출력 구문 분석

    콘솔 출력의 각 Polyspace as You Code 결과는 다음 형식의 줄로 시작합니다.

    filepath:lineNumber:columnNumber
    여기서 filepath는 현재 파일의 경로이고, lineNumber는 결과의 줄 번호이며, columnNumber는 결과로 토큰을 시작하는 열입니다. 예를 들면 다음과 같습니다.
    C:\MyProj\myFile.c:17:31:
    파일 C:\MyProj\myFile.c에 31열부터 시작하여 17번째 줄에 결과가 포함되어 있음을 나타냅니다. 콘솔 출력을 구문 분석할 수 있다면 결과가 포함된 토큰의 시작 부분인 31번째 줄로의 탐색을 활성화할 수 있습니다.

통합 단계

이 예제는 Notepad++와 같은 간단한 편집기에서 Polyspace as You Code를 통합하는 방법을 보여줍니다. GNU Emacs, Sublime Text 등 다른 편집기에서도 비슷한 통합 단계를 따를 수 있습니다.

1단계: 편집기 내에서 스크립트 실행 설정

Notepad++에서는 NppExec와 같은 플러그인을 사용하여 편집기 내에서 모든 스크립트를 실행할 수 있습니다. 편집기는 또한 IDE에서 현재 활성화된 파일을 확인하는 환경 변수 $(FULL_CURRENT_PATH)를 제공합니다.

플러그인 내에서 실행할 수 있는 가장 간단한 스크립트는 다음과 같습니다.

cd $(CURRENT_DIRECTORY)
set POLYSPACE_EXECUTABLES_FOLDER=C:\Program Files\Polyspace as You Code\R2025b\polyspace\bin
set POLYSPACE_ENGINE=$(POLYSPACE_EXECUTABLES_FOLDER)\polyspace-bug-finder-access.exe
set POLYSPACE_REPORT_EXPORTER=$(POLYSPACE_EXECUTABLES_FOLDER)\polyspace-results-export.exe
$(POLYSPACE_ENGINE) -sources $(FULL_CURRENT_PATH)
$(POLYSPACE_REPORT_EXPORTER) -results-dir . -format console
console 형식은 Polyspace as You Code에서만 사용할 수 있습니다. 실제로는 옵션 파일을 사용하여 추가 분석 옵션을 지정할 수 있습니다. 옵션 파일의 이름이 polyspace_options.txt인 경우, 이전 스크립트에서 Polyspace as You Code를 실행하는 명령은 다음과 같이 대체될 수 있습니다.
$(POLYSPACE_ENGINE) -sources $(FULL_CURRENT_PATH) -options-file polyspace_options.txt
Options Files for Polyspace Analysis (Polyspace Bug Finder) 항목도 참조하십시오.

다른 명령줄 예제는 명령줄에서 Polyspace as You Code를 실행하고 결과를 내보냅니다.를 참조하세요. 예를 들어, 콘솔에 직접 내보내는 대신 결과를 JSON 형식으로 내보내고, JSON 파서를 사용하여 결과를 패키징한 다음 콘솔로 내보내거나 다른 방식으로 사용할 수 있습니다.

2단계: 콘솔 출력 구문 분석 설정

NppExec 플러그인을 사용하면 콘솔 출력을 구문 분석하고 해당 코드 줄로 이동할 수 있습니다. 선택적으로 콘솔 출력에 특정 서식을 적용할 수도 있습니다.

예를 들어, 콘솔 출력은 다음과 같습니다.

링크를 클릭하면 해당 코드 줄의 관련 토큰 시작 부분으로 바로 이동하도록 출력을 설정할 수 있습니다.

이러한 결과 표시를 설정하려면 Plugins > NppExec를 선택한 다음 Console Output Filters 옵션을 선택하세요. 다음 옵션을 사용하면 결과를 이전 상태로 표시할 수 있습니다.

첫 번째 강조 마스크는 형식을 갖는 줄을 나타냅니다.

...:...:...
첫 번째 콜론 앞에는 파일의 절대 경로, 첫 번째와 두 번째 콜론 사이의 줄 번호, 두 번째 콜론 뒤에는 열 번호(또는 문자 번호)가 포함됩니다. 마스크는 정보(파일, 줄, 열)를 읽고, 이 줄에 밑줄을 긋고 파란색으로 채웁니다.

두 번째 강조 마스크는 형식을 갖는 줄을 단순히 굵게 표시합니다.

...(...)
이러한 줄에는 결과 이름(예: 결함 이름)이 포함되어 있습니다.

추가 탐색

공식 Polyspace as You Code 확장 기능을 사용하면 빌드 명령 분석, 체커(검사 항목) 구성, Polyspace Access 웹 서버에서 베이스라인 다운로드 등의 다른 작업을 수행할 수 있습니다. 실제 개발 환경에서는 컴파일 툴체인을 최대한 정확하게 에뮬레이션하기 위해 빌드 명령을 분석하고, 가장 의미 있는 체커(검사 항목)를 구성하고, 변경 사항에서 나오는 새로운 결과에만 집중할 수 있도록 베이스라인 결과를 분석해야 합니다.

여기에 설명된 접근 방식을 확장하여 IDE나 편집기에서 이러한 모든 작업에 대한 메뉴 항목을 만들 수 있습니다. 명령줄에서 이러한 워크플로에 대한 자세한 내용은 다음을 참조하세요.

IDE나 편집기를 Polyspace as You Code로 설정하면 제출을 위한 품질 게이트를 만들 수 있습니다. 제출한 내용에서 결과가 나타나지 않도록 체커(검사 항목)를 사용하여 구성을 설정할 수 있습니다. 파일을 제출하기 전에 해당 체커(검사 항목)에서 발견된 모든 사항을 수정했는지 확인할 수 있습니다.

참고 항목

| (Polyspace Bug Finder)