Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 02.02.2012, 23:53   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Статанал

Поделитесь опытом использования ПО, выполняющим статический анализ кода.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 18.02.2012, 23:02   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Статанал

Неужто даже форумные движкописатели не юзали?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 20:52   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Статанал

Сегодня ко мне в руки попал февральский ХАКЕР
( http://www.xakep.ru/xa/?id=157 )
Как по заказу: в нём обзор средств статического анализа для C++
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Samodelkin (20.02.2012), wolfhound512 (19.02.2012)
Старый 20.02.2012, 00:19   #4
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Статанал

Наверное ты уже читал, но все же:
http://habrahabr.ru/blogs/cpp/75123/

Тоже недавно задумался над статическим анализатором, но потом решил лучше поработать над традиционными методами отладки, а уже потом, когда их возможности иссякнут, применять статические анализаторы.
Вот по традиционным методам статьи:
http://dtf.ru/articles/read.php?id=36376
http://dtf.ru/articles/read.php?id=36547
http://dtf.ru/articles/read.php?id=37058

Как по заказу: в нём обзор средств статического анализа для C++
Там много полезной информации?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (20.02.2012)
Старый 20.02.2012, 11:30   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Статанал

2Samodelkin
Если коротко: пока буду пробовать cppcheck. Скоро номер легально появится в электронном виде на сайте.
Спасибо за ссылки: часть действительно уже видел, но есть и интересные аспекты.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 20.02.2012, 20:07   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Статанал

Пользовался как-то студийным статическим анализатором. Мне не понравилось. Например, он ругается на строчки:

somefunc(short i, short j)
{
float m[16];
assert(i>=0 && i<4 && j>=0 &&j<4);
m[i*4 + j];
}
понятное дело, что я могу выйти за границы массива, если в i or j будет какаято левая фигня. но ведь это отсеивается ассертом. но статическому анализатору пофиг.

зы, название не говорящее. я думал это какой-то предмет типа матанала. и поэтому долго не заходил.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
ABTOMAT (20.02.2012), impersonalis (20.02.2012)
Старый 20.02.2012, 23:52   #7
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Статанал

cppcheck попробовал - вроде работает =).

Но я его не интегрировал никуда.
Попробовал Visual Lint (там в составе тоже cppcheck есть) подключить к Visual Studio 2010 EE но вобщем там напонятно - http://www.riverblade.co.uk/products...started_guide/ - в разделе Configuration просят запустить Visual Lint Configuration Wirard которого после инсталляции нигде нету.
Да в любом случае он на 30 дней тока, потом покупать...

Вот в простом режиме (без интеграции) cppcheck не пропускает ошибки? А то может ему какой то информации о проектах не хватает?

Опробовал его на движке - там около 100 файлов, каждый по 1-5к строк в среднем, нашел около 40 ошибок и 15 ворнингов. Причем в общем в этих 40 ошибках, такие как например вначале функции я не проверил указатель, который может быть нулевой и далее 10 вызовов этого указателя генерирует 10 ошибок. так что по сути там 4 непроверенных указателя, а не 40 ошибок. И кстати откуда cppcheck знает проверял ли я указатель прежде чем передать его в функцию? он вообще анализирует откуда какие функции вызываются и т п? Короче я считаю ошибок нашел мало. В MSVS warning level 4 и то более информативен будет, но как дополнительное средство cppcheck использовать можно =).

Еще один недостаток то что он однопоточный, работает медленно, а только 12% нагрузки на процессор.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (21.02.2012)
Старый 21.02.2012, 12:48   #8
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Статанал

Вот в простом режиме (без интеграции) cppcheck не пропускает ошибки?
Да вроде не пропускает. Детально пока не исследовал.
но как дополнительное средство cppcheck использовать можно =).
Ну ясно, что не панацея
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:06.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com