Использование команды 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), который должен печатать любые ошибки, с которыми может столкнуться анализатор.

и последнее, но не менее важное: вы должны использовать анализ с отладочными сборками, где оптимизация отключена, но, что более важно, где символы не раздетый.

не уверен, что это поможет, дайте мне знать ...