2017-02-21 24 views
0

Я с помощью Coverity для анализа кода С.Coverity: процент захвата сборки нежелательный 0%

команды конфигурации:

cov-configure --compiler /opt/toolchains/stbgcc-4.5.4-2.9/bin/mipsel-linux-uclibc-gcc --comptype gcc --config /opt/cov-analysis-linux64-7.5.1/config/coverity_config.xml

И шаг конфигурации успешно.

команды Сложение:

cov-build --dir ../platform/drivers --record-only --encoding EUC-KR sudo make platform FORCE=1

Когда Coverity сборка была закончена, я увидел в сборке-журнал: Утилита СОУ-сборки успешно завершена. И предупреждение в всплывал блоке:

the build capture percentage is undesirably 0%

error

Тогда я еще анализировать данные:

Анализ команды:

cov-analyze --user-model-file >~/work/CoverityData/stdioUserModel.xmldb --parse-warnings-config >~/work/CoverityData/parse_warnings.conf --dir ../platform/drivers/ >--all --checker-option NO_EFFECT:extra_comma:0 -j 4

и я получил сообщение об ошибке:

Error: intermediate directory contains no translation units.

Я полагаю, что предупреждение на этапе построения сделало ошибку на этапе анализа.

Пожалуйста, помогите мне решить эту проблему.

+3

Обратившись в службу поддержки [email protected]? BTW - это ваш код C * и * java? С отсутствием какого-либо кода или справочной информации, как вы ожидаете, что кто-нибудь помашет волшебной палочкой для вас? –

+0

Хорошо, сначала начните выяснять, почему нужно проверять журнал сборки. Ваша сборка действительно что-то сделала? Правильно ли настроили ваши компиляторы? – Caleb

ответ

1

Вопрос может быть связан с номером --record-only вашего вызова cov-build, который захватывает вызовы компилятора, но фактически не испускает их. Попробуйте удалить это и повторите попытку. Кроме того, вы можете использовать cov-build --replay -j X для воспроизведения этих компиляций; некоторые оговорки применяются, обычно лучше всего собирать компиляции.

Обратите внимание, что использование команды sudo в вашей команде сборки является исключительно опасным и его следует избегать. Это действительно необходимо?

+0

Привет Калеб. Жаль тратить свое время. Твое право. Я допустил ошибку, когда копирует/вставляет команду сборки. Я исправил команду сборки над указанным выше вопросом. Пожалуйста, просмотрите и дайте мне представление. –

+0

Я обновил свой ответ, однако это обоснованное предположение - мне нужен журнал построения, чтобы с уверенностью определить, является ли это проблемой. – Caleb

0

Вы должны проверить файл build_log, расположенный в ../platform/drivers/. Ищите строки, содержащие [ERROR] - могут быть ошибки в определении заголовочных файлов и т. Д.

Другая возможность - сначала выполнить тестовую сборку - это может быть возможно только из IDE - чтобы убедиться, что сборка вызывается правильно