anonymous@RULINUX.NET~# Last login: 2024-11-18 07:40:38
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Как бы заставить ОС заполнять память не нулями для тестов?

Есть такая беда как неинициализорованные локальные переменные в сишном коде. В принципе эти баги часто пролезают сквозь тесты и выявляются в самое неподходящее время. Чекать весь код что понапейсали всякие там девелопыри откровенно лень, хотелось бы какую-нибудь тулзу, чтобы заполняла распределяемую на стеке память не-нулями (ИМХО оптимально 0xFF). Тогда неинициализированные переменные будут гарантированно крешить программу на этапе тестирования. Есть какие-нибудь тулзы для этого?

anonymous(*) (2013-11-28 02:05:08)

[Ответить на это сообщение]
avatar
Скрыть

Re:Как бы заставить ОС заполнять память не нулями для тестов?

А ElectricFence точно этого не умеет?

lockywolf(*)(2013-11-28 02:13:35)

avatar
Скрыть

Re:Как бы заставить ОС заполнять память не нулями для тестов?

Он вроде на лики динамически аллоцированной памяти заточен. К тому же процессов дохрена, лучше бы через preload что-нибудь или просто системные настройки. В принципе valgrind должен это уметь, но забыл сказать, кроме линукса хотелось бы ещё солярку и чпукс, ну и айбиэмовский aix не помешает, а у valgrind'a этого не видно.

Надо будет посмотреть на Cppcheck, но как-то лень крутить его самому, лучше всего если бы оно заваливалось на тестах, раз уж девелоперам лень вникать в выхлоп компилятора с -Wuninitialized.

anonymous(*)(2013-11-28 02:45:24)

avatar
Скрыть

Re:Как бы заставить ОС заполнять память не нулями для тестов?

vagrind. Но заполнять чем-то не обязательно, valgrind сам покажет кто где залез куда не надо

anonymous(*)(2013-11-28 06:27:14)

Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0
Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!