Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #45, АВГУСТ 2004 г.

Доверяй, но проверяй

Косякин Антон

Спецвыпуск Xakep, номер #045, стр. 045-024-3


Напутствие

Если ты пишешь на Visual C++, то могу посоветовать тебе очень полезную программу NuMega Bounds Checker. Она встраивается в VC, отслеживает все выделения ресурсов и памяти, их освобождение, а по завершении работы программы выдает отчет о том, где и сколько было взято, а сколько положено обратно :-). В свое время она помогла мне вылечить программу, которая, являясь сетевым сервисом, при больших нагрузках начинала «поедать» оперативную память со скоростью несколько мегабайт в секунду! С тех пор я осознал, что контроль за выделяемой памятью и ее освобождение – не только хороший тон, но и необходимость.

В случае если ты программируешь под Linux, советую смотреть в сторону библиотек наподобие dmalloc, Electric Fense. Такие библиотеки заменяют системные функции работы с памятью своими аналогами и ведут учет наподобие Bounds Checker'а.

Выделил память – не забудь освободить!

Используй при работе со строками вместо функции malloc функцию calloc, которая не только выделит память, но и обнулит её.

Если ты пишешь на Visual C++, то пользуйся NuMega Bounds Checker. Он сэкономит тебе много сил и денег.

Назад на стр. 045-024-2  Содержание