2010-06-02 6 views

답변

9

: 그러나, 나는 "suppressed_error_id"나는 코멘트에 넣어해야 찾을 수없는

오류 ID는 이 억제하려는 ID입니다 . 을 얻는 가장 쉬운 방법은 --xml 명령 줄 플래그를 사용하는 것입니다. xml 출력의 id 문자열을 복사하여 붙여 넣으십시오.

따라서 --xml 플래그가있는 오류가 포함 된 일부 코드에 대해 cppcheck을 실행 한 다음 생성 된 XML 파일에서 이름을 찾습니다.

+0

안녕하세요, 빠른 답변에 감사드립니다. 그러나 팁은 -suppression 옵션에 대해 작동하지만 별도의 파일에 넣습니다. 나는이 코드를 사용하여 지금까지 행운을 빌지 않고 내 코드에서 똑같은 것을 얻으려고했다. 아마, ID는 OK이고 문제는 다른 곳에 있습니다. – Blaise

+0

@btz 어떻게하면 cppcheck이 코드 주석에 명령 줄 스위치를 넣을 수 있다고 생각합니까? –

+0

./cppcheck --help 및 saw --inline-suppr 옵션을 실행합니다. --inline-suppr 인라인 억압을 활성화합니다. 억압을 경고하기 전에 //에 cppcheck-memleak를 줄에 하나 이상의 주석을 달아 주석을 사용하십시오. -inline-suppr을 사용하여 cppcheck를 실행하여 코드를 xml 출력 양식으로 사용하려고 시도했지만 나에게 적합하지 않습니다. – Blaise

18

명령 줄에서 오류 ID를 표시하도록 출력 템플릿을 변경할 수 있습니다. 이는 매우 깔끔합니다. 표시 오류 ID와 비주얼 스튜디오 형식으로 출력

, 명령 줄이 추가 :

s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY 

당신이 그때까지 억제 할 수

--template "{file}({line}): {severity} ({id}): {message}" 

이이 같은 출력 뭔가를 생성합니다 줄을 추가하십시오 :

// cppcheck-suppress bufferAccessOutOfBounds 

원본 파일의 이전 줄로.

3

cppcheck man page에 따르면 --template 옵션을 사용하여 기본 출력을 변경하여 id를 포함하도록 할 수 있습니다 (예 :

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}' 
0

GUI를 사용하는 경우 표시하지 않으려는 메시지를 마우스 오른쪽 버튼으로 클릭하여 메뉴를 팝업 할 수 있습니다. "메시지 ID 복사"를 선택하십시오. "suppressed_error_id"대신 코드에 메시지 ID를 붙여 넣으십시오.

+2

안녕하세요, 어떤 GUI를 언급하고 있는지 자세히 설명해 주시겠습니까? – Blaise

+0

1.76.1에서 사용할 수있는 "id with all id"명령을 사용하십시오. – Liviu

관련 문제