суббота, 4 августа 2012 г.

пример использования функции enumprocessmodules visual studio 2008






Коллекция примеров 64-битных ошибок в реальных программах

Статический анализатор кода для C/C++/C++11





Статья представляет собой наиболее полную коллекцию примеров 64-битных ошибок на языках Си и Си++. Статья ориентирована на разработчиков Windows-приложений, использующих Visual C++, но будет полезна и более широкой аудитории.

Наша компания ООО Системы программной верификации занимается разработкой специализированного статического анализатора Viva64 выявляющего в коде приложений на языке Си/Си++. В ходе этой работы наша коллекция примеров 64-битных дефектов постоянно пополняется, и мы решили собрать в этой статье наиболее интересные на наш взгляд ошибки. В статье приводятся примеры как взятые непосредственно из кода реальных приложений, так и составленные синтетически на основе реального кода, так как в нем они слишком растянуты.

Статья только демонстрирует различные виды 64-битных ошибок и не описывает методов их обнаружения и профилактики. Вы можете подробно познакомиться с методами диагностики и исправления дефектов в 64-битных программах, обратившись к следующим ресурсам:

Также вы можете познакомиться с демонстрационной версией инструмента , в состав которой входит статический анализатор кода Viva64, выявляющий практически все описанные в статье ошибки. Демонстрационная версия для скачивания.

Пример 1. Переполнение буфера

memset( Abcd, 0, sizeof(Abcd));

source




Комментариев нет:

Отправить комментарий