Четверг, 04 февраля 2021 19:00

Установка Cppcheck в Qt5. Работа над ошибками с помощью статического анализатора кода. Часть 1.

Россия
Оцените материал
(0 голосов)

При написании программ, очень часто программисты делают ошибки. Большую часть из них отлавливает компилятор, но некоторые, при беглом осмотре, не являются ошибками, но могут привести к непредсказуемым глюкам и багам, на отлов которых можно потратить очень много времени.

Для, поиска подобных проблем были созданы специальные утилиты - статические анализаторы кода.

Сегодня мы рассмотрим установку и использование статического анализатора кода Cppcheck в среде разработки Qt Creator.

 

Установка

Скачайте дистрибутив с программой с сайта проекта:

https://github.com/danmar/cppcheck/releases/

На момент написания статьи — это версия 2.3

Просто ставим всё по умолчанию.

Запускаем Qt Creator и переходим в меню Справка – О модулях

2021-02-01_17-29-50.png

Пролистываем вниз, пока не найдем пункт Code Analyzer и ставим галочку напротив Cppcheck (экспериментально)

2021-02-01_17-30-33.png

Нажимаем Закрыть и Перезапустить.

После запуска модуль с сppcheck будет активирован

Откройте пункт меню Анализ - Cppcheck

2021-02-01_17-33-44.png

Если в поле «Программа» пусто – укажите C:\Program Files\Cppcheck\cppcheck.exe

Установите все галочки.

Выберите cpp и h файлы в своем проекте

2021-02-01_17-47-16.png

Нажмите Анализировать.

Анализ проекта

Для анализа возьмем один из моих проектов.

Настроим анализатор и выберем все *.h и .cpp файлы.

После нажатия кнопки анализировать, открывается окно со всеми найденными проблемами:

2021-02-02_17-38-50_2.png

Щелкнув по любой строке, вы можете открыть описание всех проблем в файле и перейти к проблеме.

Запустим сборку.

После окончания сборки в окне редактора появятся новые сообщения.

2021-02-02_17-49-38.png

Заключение

Сегодня мы рассмотрели установку статического анализатора кода Cppcheck и плагина для среды разработки Qt Creator.

Мы скачали и установили саму программу и плагин в среде разработки.

Настроили плагин для проекта и получили предупреждения от Cppcheck.

В следующей статье мы рассмотрим причину появления сообщений вида:

Function parameter 'xxxxxxxx' should be passed by const reference.

И причины, по которым не стоит передавать аргументы в функцию по значению.

Прочитано 1051 раз Последнее изменение Понедельник, 15 февраля 2021 12:24