주요 콘텐츠

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

Polyspace Access 웹 인터페이스에서 Bug Finder 결과 해석

이 주제에서는 Polyspace Access 웹 인터페이스에서 Bug Finder 결과를 검토하는 방법을 보여줍니다. Polyspace 데스크톱 제품의 사용자 인터페이스에서 유사한 워크플로는 Interpret Bug Finder Results in Polyspace Desktop User Interface (Polyspace Bug Finder)를 참조하세요. IDE에서 Polyspace as You Code의 결과를 검토하는 방법을 보려면 Review Polyspace as You Code Results in IDEs (Polyspace Bug Finder).를 참조하세요.

Polyspace Access의 REVIEW 보기에서 Bug Finder 분석 결과를 열면 Results List 창에 목록이 표시됩니다. 결과는 결함, 코딩 규칙 위반 또는 코드 측정 항목으로 구성됩니다.

먼저 리뷰의 초점을 좁힐 수 있습니다.

  • 툴스트립의 필터를 사용하여 목록을 좁히세요. 예를 들어, 큰 영향을 미치는 결함에 집중할 수 있습니다.

  • Results List의 열 머리글을 클릭하면 해당 열의 내용에 따라 목록이 정렬됩니다. 예를 들어 Group 또는 File로 정렬할 수 있습니다.

목록을 좁히고 정렬한 후 개별 결과를 검토할 수 있습니다. 이 주제에서는 결과를 검토하는 방법을 설명합니다.

리뷰를 시작하려면 목록에서 결과를 선택하세요.

결과 세부 정보 메시지 해석

메시지 해석

첫 번째 단계는 무엇이 잘못되었는지 이해하는 것입니다. Result Details 창에서 메시지를 읽고, Source Code 창에서 관련 코드 줄을 읽으세요.

추가 도움을 위한 리소스 찾기

때로는 특정 결과를 얻으려면 추가적인 도움이 필요할 수 있습니다. 선택한 결과에 대한 도움말 페이지를 열려면 아이콘을 클릭하세요. 결과를 보여주는 코드 예제를 참조하세요. 문제 해결에 대한 추가적인 근거를 제공하는 CERT-C와 같은 외부 표준을 확인하세요. 사용 가능한 경우, 아이콘을 클릭하여 결함에 대한 수정 제안을 확인하세요.

이 시점에서 문제를 해결할지 여부를 결정할 준비가 되었을 수도 있습니다. 해결 방법을 찾으면 해당 유형의 모든 결과를 함께 검토하는 것이 도움이 될 수 있습니다.

결과의 근본 원인 찾기

때로는 근본 원인이 결과가 표시되는 실제 위치와 멀리 떨어져 있을 수 있습니다. 예를 들어, 읽은 변수는 초기화에 도달할 수 없기 때문에 초기화되지 않을 수 있습니다. 변수를 읽으면 결함이 표시되지만 근본 원인은 아마도 항상 거짓인 이전의 if 또는 while 조건일 것입니다.

관련 이벤트로 이동

일반적으로 Result Details 창에는 결과로 이어지는 일련의 이벤트가 하나씩 표시됩니다. Source Code 패널은 이러한 이벤트도 강조 표시합니다.

위의 이벤트 추적에서 다음 순서가 표시됩니다.

  1. 변수 value가 선언되었습니다.

  2. 실행 경로는 if 문을 우회합니다. 변수가 if 블록 내부에서 초기화된 경우 이 정보가 중요할 수 있습니다.

  3. 현재 결함 위치: Non-initialized variable

일반적으로 추적은 제어 흐름의 주요 지점을 보여줍니다. 조건문이나 루프의 입력 또는 우회, 함수 입력 등이 여기에 해당합니다. 특정 결함의 경우 추적은 해당 결함과 관련된 다른 종류의 이벤트를 보여줍니다. 예를 들어, Declaration mismatch 결함의 경우 추적은 서로 충돌하는 선언이 있는 두 위치를 보여줍니다.

나만의 탐색 경로 만들기

이벤트 추적 기능을 사용할 수 없는 경우 다른 탐색 도구를 사용하여 코드의 경로를 직접 추적하세요.

코드에서 경로를 탐색하기 전에 먼저 이렇게 질문해 보세요. 내가 무엇을 찾고 있는가? 귀하의 답변에 따라 적절한 탐색 도구를 선택하세요. 예를 들면 다음과 같습니다.

  • Non-initialized variable 결함을 조사하려면 변수가 전혀 초기화되지 않았는지 확인하는 것이 좋습니다. 변수의 이전 인스턴스를 찾으려면 Source Code 창에서 변수를 마우스 오른쪽 버튼으로 클릭하고 Search For All References를 선택합니다. 이 옵션은 다른 범위에 있는 같은 이름을 가진 다른 변수가 아닌 특정 변수의 인스턴스만 나열합니다.

  • MISRA C:2012 Rule 17.7 위반 사항을 조사하려면:

    The value returned by a function having non-void return type shall be used.
    함수 호출에서 함수 정의로 이동하고 싶을 수도 있습니다. 함수를 마우스 오른쪽 버튼으로 클릭하고 Go To Definition를 선택합니다.

현재 검색 결과에서 벗어난 후 Result Details 창의 아이콘을 사용하여 다시 돌아오세요.

Source Code 창에서 다른 결과를 선택하려면 결과를 Ctrl 클릭하거나 마우스 오른쪽 버튼을 클릭하고 Select Results At This Location를 선택하세요. Results Details 창은 업데이트되지만 선택한 결과는 Results List 창에 강조 표시되지 않습니다. Results List에서 결과를 클릭하면 Results DetailsSource Code 창이 업데이트됩니다.

참고 항목

도움말 항목