2013-10-25 2 views
0

정적 코드 분석을 위해 Klocwork 9.6을 사용하고 있습니다.
분석을 수행하려면 명령 줄 도구 "kwcheck"명령을 사용하십시오.
그냥 필터링하려는 일부 오류가 있습니다.
예컨대 그것은 Klocwork 기능하지와 출력 후 처리를 통해 달성되어야 Klocwork 9.6은 지정된 파일에서만 특정 체커를 무시합니다.

(Local) *.cpp:134 UNINIT.STACK.ARRAY.MIGHT (1:Critical) Analyze 
'FRUSerial' array elements might be used uninitialized in this function. 

(Local) *.cpp:187 INFINITE_LOOP.LOCAL (2:Error) Analyze 
Infinite loop 

.

여기에 적합한 특정 Klocwork 명령/스위치가 있습니까?

답변

1

kwcheck set-status 명령을 사용하여 결함의 status을 분석에서 무시 또는 문제가 아닌 것으로 변경할 수 있습니다. 예를 들어, 결함 아래 :

1 (Local) foo.cpp:134 UNINIT.STACK.ARRAY.MIGHT (1:Critical) Analyze 
'FRUSerial' array elements might be used uninitialized in this function. 

2 (Local) foo.cpp:187 INFINITE_LOOP.LOCAL (2:Error) Analyze 
Infinite loop 

상기 각 문제의 앞에 숫자 kwcheck run 또는 kwcheck list로부터 출력 된 결함의 ID이다. 그래서 두 번째 결함을 인용하고 주석으로 무시하는 상태를 설정하기 위해, 당신은 실행됩니다 : 기본적으로 상태에서만 결함 kwcheck list 디스플레이가 하나의 상태를 설정하여, 있도록 분석 또는 수정

kwcheck set-status 2 --status ignore -c "we want to ignore this" 

하는 것으로 이러한 다른 값 중 결함은 더 이상 표시되지 않습니다. 특정 상태 (예 : 무시)로 설정된 결함 목록을 보려면 -s 또는 --status 옵션을 kwcheck list과 함께 사용하여 표시 할 상태를 지정할 수 있습니다.

특정 체커를 완전히 비활성화하려면 kwcheck disable 명령을 사용하여 특정 체커를 비활성화 할 수 있습니다. 이를 위해서는 kwcheck create 명령을 사용하여 분석을위한 로컬 프로젝트를 생성해야합니다. 임시 분석 결과로 로컬 프로젝트를 생성하여 로컬 분석 및 결과를 사용자 정의하고 제어 할 수 있습니다. Klocwork 서버의 프로젝트와 연결할 필요는 없습니다. 예를 들어 :

kwcheck create 

결함에 대한 체커를 사용하지 않도록 당신이보고 싶지 않아 :

kwcheck disable UNINIT.STACK.ARRAY.MIGHT INFINITE_LOOP.LOCAL 

실행을 분석 :

kwcheck run -b buildspec.out 
+0

수를

로컬 프로젝트 만들기 이 기능은 특정 파일에서만 하나의 경고를 무시하는 데 사용됩니까? 분석 후 .kwlp 디렉토리가 없습니다. –

+0

.kwlp 디렉토리가없는 이유는 무엇입니까? 다른 이름을 지정 했습니까? 아니면 특정 파일에 대해서만 kwcheck을 실행하고 있습니까? 사용중인 kwcheck 명령을 제공 할 수 있습니까? 로컬 프로젝트를 작성하면 위에서 설명한 것처럼 특정 체커를 켜거나 끄고 분석을 더 많이 제어 할 수 있습니다. – nonesuchnick

+0

방금 ​​kwcheck를 실행하는 스크립트를 확인했습니다. 생성 후 바로 .kwlp 디렉토리를 수동으로 제거하지만 그 이유는 알지 못합니다. 어쨌든 당신의 disable 명령어는 kw에게이 에러에 대해 아무것도보고하지 않는다고 알려줍니다. 우리는 그렇게 할 수 없습니다. 우리는 경고를 검토 한 파일에서 단지 이러한 경고를 비활성화해야하며 "이것은 거짓 긍정입니다!"라고 명시 적으로 말했습니다. . 나는 kw 9.6이 그것을 할 수 있다고 생각하지 않는다.당신이 완전히 검사기를 사용하지 않고 대신 표시하고 위양성 문제를 무시해야하지 않으려면 앞서 언급 한 바와 같이 –

관련 문제