Встраиваем PVS-Studio в Anjuta DevStudio (Linux)

  • Tutorial
После появления PVS-Studio под Linux, я опробовал его на своем проекте, и решил, что использование этого анализатора не помешает, в добавок ко все прочим анализаторам.

А так как астрологи объявили неделю «Запили PVS-Studio в свою IDE», то я решил описать, как я настроил Anjuta DevStudio (http://anjuta.org/). За скрипт спасибо kloppspb и его статье Встраиваем PVS-Studio в Eclipse CDT (Linux).

Сам скрипт взят из оригинальной статьи и немного изменен для проектов, собираемых с помощью autotools.

pvs-anjuta.sh
#!/bin/sh

# без аргументов скрипт вызывается как External Tool, принудительно вызываем `make clean`:
if [ -z "$1" ]; then
    make clean
fi

# вызов из билдера, проверяем цели:
if [ "$2" = "clean" ]; then
    make clean
   # здесь больше ничего делать не надо:
    exit
fi

# не clean или вызвали как External Tool - анализируем проект:
TEMPLOG=$(tempfile)

# удаляем ошмётки `strace`, которые могут появиться в некоторых случаях:
pvs-studio-analyzer trace -- make 2>&1 | sed '/strace: umovestr:/d' -
pvs-studio-analyzer analyze -o "$TEMPLOG"

# удаляем непонятную строку, которая у меня появляется в выводе конвертера:
RC=$(plog-converter -t errorfile "$TEMPLOG" | sed '/The documentation for all/d' -)
rm -f "$TEMPLOG"
echo "$RC"


Далее открываем проект, который хотим проверять, и переходим в Настройки. Далее General — вкладка «Installed Plugins», и включаем плагин «Инструменты» (Tools).

Anjuta Preferences


Переходим в конец списка настроек к пункту «Tools» и создаем новый инструмент «PVS-Studio Check»

Tools


И настраиваем инструмент как показано на рисунке

Tool Editor

В итоге, запустив проверку через меню Сервис, пункт PVS-Studio Check, в стандартном окне сообщений мы сможем получить ошибки и предупреждения анализатора, а двойным щелчком мыши перейти к нужной строке.

Пример

Поделиться публикацией

Похожие публикации

Комментарии 6

    0
    Спасибо.

    RC=$(plog-converter -t errorfile "$TEMPLOG" | sed '/The documentation for all/d' -)

    Сейчас утилита пишет отчёт в stdout, а с параметром '-e' можно выводить в stderr. Для QtCreator это очень важно. Тут нет разницы?
      0
      Так для QtCreator вроде не так встраивать надо, по вашей же инструкции. Или речь о чём-то другом?
        0
        По инструкции. Просто первый вариант настройки был похожим, но там можно было добавить 1 custom step и всё заводилось.
      –1
      Когда появится поддержка vs 2017?
        +2
        Пока ещё саму vs 2017 не допилили. Рисую формочки на впф, после отладки интерфейс самой VS падает постоянно.
          0
          Для Release будет.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое