Вы можете использовать команду 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
. Таким образом, чтобы привести второй дефект и установить статус игнорировать с комментарием, вы должны запускать:
kwcheck set-status 2 --status ignore -c "we want to ignore this"
Обратите внимание, что по умолчанию kwcheck list
отображает только дефекты со статусом Анализировать или Фикс, поэтому, установив статус одного из этих других значений дефекты больше не будут отображаться. Если вы хотите просмотреть список дефектов с определенным статусом, например те, которые вы указали в «Игнорировать», вы можете использовать опцию -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
Может эта функция используется для игнорирования одного предупреждения только в определенном файле? после нашего анализа нет .kwlp-каталога. –
Почему нет каталога .kwlp? Вы указали другое имя? Или вы используете kwcheck только для определенных файлов? Можете ли вы предоставить команду kwcheck, которую вы используете? Создавая локальный проект, у вас есть намного больше контроля над анализом, а также возможность включать или отключать определенные шашки и ссылаться на дефекты, как я показал выше. – nonesuchnick
Я только что проверил скрипт, который запускает kwcheck - мы вручную удаляем каталог .kwlp сразу после поколения, но я не знаю почему. во всяком случае, я вижу, что ваша команда disable указывает kw ничего не сообщать об этой ошибке - и мы не можем этого сделать, нам нужно только отключить эти предупреждения в файлах, где мы рассмотрели предупреждение и явно сказали «это ложь!». , Я не думаю, что kw 9.6 способен это сделать. –