0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
1

Статический анализатор кода

02.04.2015, 23:41. Показов 6192. Ответов 53
Метки нет (Все метки)

Всем привет! Сразу извиняюсь за то, что создал тему не в том форуме ( не знал, где ее можно создать, ибо очевидного форума про такие программы не нашел ).
И еще, хочу извинится за глупые, "нубские" вопросы, а их здесь будет, по-моему мнению, много, потому что не имею никакого опыта в этом деле.
В общем установил я Keil uVision 5, установил PC-Lint 9.00a (cracked) (работать буду по MISRA C 2004), "прикрутил" PC-Lint к Keil'у через Tools->PC-Lint Setup.
Всякие первоначальные настройки я сделал через CONFIG.exe в папке с PC-Lint, но и то с большим трудом, потому что, как я уже говорил ранее, абсолютно не понимаю что к чему.
Но в чем же проблема? А проблема в следующем, когда запускаю lint-nt.exe (главный файл), выскакивает окно, скриншот которого я прикрепил снизу. Ясное дело, что это более детальные настройки, но как в них разобраться, прочитать более детально, о чем в каждом пишется, перерыл кучу форумов и документаций в надежде найти хоть что-то, но в большинстве случаев я столкнулся с 2-мя проблемами: первая - недостаточное знание английского языка, а точнее "технической" его части, вторая - попросту в документе или на сайте не было ничего полезного.
Вот и решил написать сюда, может кто-то имел опыт работы с этой программой или может посоветовать хоть что-нибудь полезное по этой теме.
Выбрал именно PC-Lint потому, что, насколько я понял, он единственный, кого поддерживает Keil. Если я ошибаюсь - прошу написать.
Заранее спасибо.
Миниатюры
Статический анализатор кода  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2015, 23:41
Ответы с готовыми решениями:

Статический анализатор Cppcheck: как пользоваться?
Здравствуйте! Если кто пользовался, прошу подсказать: как ей пользоваться? скачал, установил,...

Реализовать статический анализ кода на Си
Разработать программу canalyze анализа программ на языке С. Команда canalyze принимает на вход имя...

Статический анализатор кода
Всем доброго времени суток! Мне поставлена задача, написать статический анализатор кода для MPI....

Vim и статический анализатор кода
Здравствуйте товарищи, вопрос следующий - можно ли прикрутить к Vim статический анализатор кода?

53
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 01:03 2
Цитата Сообщение от Houston Посмотреть сообщение
PC-Lint
В поставке уже должны быть готовые профили для MISRA - используйте как образец. + также в комплекте должен быть PDF-manual от Gimpel Software.
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
03.04.2015, 15:11  [ТС] 3
В том то и дело, что в первоначальных настройках я выбрал MISRA C 2004, но это ничего не дало, я так понял, или, может, оно выводит настройки правил самой MISRA, но я не понимаю, что к чему в них, как включить их.
Мне хотя бы запустить на проверку файла PC-Lint.

Добавлено через 51 минуту
И еще, когда в самом Keil нажимаю "проверить файл", то пишет:
Running PC-Lint...
PC-lint for C/C++ (NT) Vers. 9.00a, Copyright Gimpel Software 1985-2008

И больше ничего, а по идее должно чекнуть на правила.

Добавлено через 6 минут
Может, кто-нибудь поможет с полной установкой и настройкой PC-Lint с нуля. Буду ну оочень благодарен.

Добавлено через 9 минут
Так же обнаружил, что при проверке через файл LIN.bat окно открывается и тут же закрывается, с чем это связано?
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 15:15 4
Цитата Сообщение от Houston Посмотреть сообщение
И больше ничего
Это консольная утилита. Она принимает командную строку и выводит отчет в stdout (если он не перенаправлен).
Все настройки описаны в документации - читайте PC-lint.pdf
1
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
03.04.2015, 15:41  [ТС] 5
В директории нету этого файла и поиск ничего не выдает, такое чувство, что Линт не проверяет файл на ошибки, то-есть возникает ошибка сразу после запуска, может быть я при установках конфигурации не правильно указал что-то. Сейчас на работе, вечером опишу детально что, где и как выбирал.
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
03.04.2015, 16:19 6
Запустите, сначала, CONFIG.exe. Укажите правильные пути итд. Проверьте, что каталог Lint прописан в %path%, и что файл std.lnt корректно указывает на %include% директорию вашего компилятора.
Вложения
Тип файла: 7z PC-lint.pdf.7z (2.02 Мб, 5 просмотров)
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 13:01  [ТС] 7
Запустите, сначала, CONFIG.exe. Укажите правильные пути итд. Проверьте, что каталог Lint прописан в %path%, и что файл std.lnt корректно указывает на %include% директорию вашего компилятора.
А где, собственно, находиться, компилирующий файл Keil`a? Сколько искал-искал - нигде не нашел никакой информации.
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 13:51  [ТС] 8
Моя пошаговая настройка Lint через файл Config.exe.
Я так понимаю на 7 скриншоте, который с кнопочкой "Browse", нужно указать путь к компилятору Keil, но я нигде не нашел информации об его местонахождении. Библиотеки вроде бы указал правильно, хотя уже не помню, какие Keil использует, но код на Keil пишется на С.
Миниатюры
Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода   Статический анализатор кода   Статический анализатор кода  

Статический анализатор кода  
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:03  [ТС] 9
Настройки в самом Keil.
Первый скриншот - его настройки.
Второй - используем Tools - >Set up PC-Lint.
Здесь и здесь пишет, как установить, а во второй ссылку снизу показан результат запуска PC-Lint в Keil, то-есть в Output Window должны быть показаны ошибки, а не отдельно в файле или консоли.
Миниатюры
Статический анализатор кода  
Изображения
 
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:25  [ТС] 10
Только что в настройках Lint в самом Keil в "Configuration File" выбрал "co-kcarm.lnt" и вроде бы заработало.
Но нужно include прикрепить, а то ругается на него.
Миниатюры
Статический анализатор кода  
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 14:30 11
Про Keil ничего не знаю. Если он поддерживает pipes, то можете перенаправить вывод Lint ему. Если нет - сохраняйте во временный файл.

Добавлено через 2 минуты
Цитата Сообщение от Houston Посмотреть сообщение
include прикрепить
Задается строчкой в std.lnt, ключ -i (-i"full path to include directory").
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:33  [ТС] 12
Задается строчкой в std.lnt, ключ -i (-i"full path to include directory").
Сделал, как Вы сказали, прописав в нем путь к папке с файлами, но все равно ошибка вылазит.
Миниатюры
Статический анализатор кода  
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 14:40 13
А где находится сам этот time.h?

Если не в %include%, то можно прописать полный путь к нему (или относительный - по отношению к C-файлу, в который он включается).
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 14:48  [ТС] 14
Цитата Сообщение от gazlan
А где находится сам этот time.h?
У меня он находится по пути: C:\Keil_v5\ARM\ARMCC\include.
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 15:12 15
И именно этот путь в двойных кавычках указан в ключе -i (без пробела после i)?

Сам std.lnt должен лежать либо в каталоге программы, либо в текущей директории - проверьте. Попрбуйте пересоздать его, используя CONFIG.exe
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 15:16  [ТС] 16
Именно так.
Миниатюры
Статический анализатор кода  
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 15:50 17
На вид, все ОК. А если заменить угловые скобки на двойные кавычки: "time.h"? Прописать полный путь?

Если ошибка на первом же С файле, то что-то не так в настройках - не видит сам %include%. Убедитесь, что std лежит в каталоге Lint и не перекрывается локальными настройками в других каталогах/других lnt-файлах.
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 16:01  [ТС] 18
Пробовал по-разному прописывать и с кавычками и с угловыми скобками и без расширения файла, как угодно.
Прописал полный путь (надеюсь правильно, а то не приходилось), результат на скриншоте. Ошибка вроде бы пропала. То-есть, по сути, std-файл, не видит директории?
Миниатюры
Статический анализатор кода  
0
0 / 0 / 0
Регистрация: 02.04.2015
Сообщений: 33
04.04.2015, 16:16  [ТС] 19
Меня еще "Error 40" волнует, документация Lint`a говорит следующее:
Undeclared identifier 'Name' -- Within an expression, an
identifier was encountered that had not previously been declared
and was not followed by a left parenthesis. Name is the name of
the identifier.
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
04.04.2015, 16:17 20
Цитата Сообщение от Houston Посмотреть сообщение
по сути, std-файл, не видит директории?
Угу. С этим и надо разбираться. Как я понимаю, %include% директория единственная? Посмотрите, нет ли где еще другого std.lnt в пути поиска и в текущем каталоге, убедитесь еще раз, что путь прописан корректно, что std-файл заканчивается пустой строкой (мало ли), добавьте в %path% сам каталог c:\lint. Других идей нет...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 16:17
Помогаю со студенческими работами здесь

Подскажите статический анализатор кода C++
Есть большой и страшный проект на C++, где много повторяемого кода (или почти повторяемого). Есть...

Статический анализатор кода (не оптимизатор!!!)
Для многих языков есть статические анализаторы кода. Для "нежно" любимого мной 1С - нет. В...

Анализатор С++ кода
Доброго времени суток. Задача - разработать анализатор исходного кода на языках С++ с выявлением...

Анализатор кода
Есть исходный файл (код C++) программы. Нужно создать дамп с анализом его содержимого. Например:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru