Использование команды scan-build для анализа кода clang
Я установил scan-build / clang версии 2.9 на рабочем столе Ubuntu. Я создаю свой исходный код на C++, используя make . Как он сказал, scan-build будет анализировать проект, который построен с использованием make, если вы даете
scan-build make
до
но после make я вижу сообщение
scan-build: Removing '/tmp/scan-build-2013-10-16-1' because it contains no reports.
тоже пробовал
scan-build --use-c++=/use/bin/clang++ make
Q1-что я делаю неправильно / отсутствует здесь. Как использовать сканирование для анализа всех исходных файлов.
Q2 - есть ли возможность использовать clang++ --analyze myfile.cpp
для анализа одного исходного файла. Но это дает ошибку о заголовочном файле, включенном не найдена "фатальная" ошибка " мой.h
какова опция clang analyze, чтобы указать на папку с файлами заголовков.
1 ответов
Что касается Q2, вы должны иметь возможность использовать:
scan-build clang++ -c myfile.cpp
или то, что вы предложили:
clang++ --analyze myfile.cpp
но вам нужно убедиться, что компилятор знает обо всех включениях и библиотеках (вы должны быть в состоянии успешно скомпилировать myfile.cpp в объектный файл без анализа). Что включает в себя -I
справочники.
существует также опция-o для scan-build, которая указывает целевой каталог для файлов отчетов HTML. Подкаталоги будут создается по мере необходимости для представления отдельных "запусков" анализатора. Если этот параметр не указан, каталог создается в /tmp
для хранения отчетов, как вы уже знаете.
еще один полезный вариант будет -v
(verbose), который должен печатать любые ошибки, с которыми может столкнуться анализатор.
и последнее, но не менее важное: вы должны использовать анализ с отладочными сборками, где оптимизация отключена, но, что более важно, где символы не раздетый.
не уверен, что это поможет, дайте мне знать ...