Теперь, когда объем оперативной памяти обычно составляет гигабайты на всех ПК, следует ли мне тратить время на поиск всех мелких (нерастущих) утечек памяти, которые могут быть в моей программе? Я говорю о тех дырах, которые могут быть меньше 64 байтов, или даже о группе, состоящей всего из 4 байтов.
Некоторые из них очень сложно идентифицировать, потому что они не в моем собственном коде, но могут быть в стороннем коде или в коде инструмента разработки, и у меня может даже не быть прямого доступа к источнику. В таких случаях потребуется длительное общение с поставщиками этих продуктов.
Я видел здесь, в SO, вопрос об утечке памяти номер один: Утечки памяти когда-либо нормально? И ответ номер один на этот вопрос, на данный момент проголосовавший за 85 раз: Нет.
Но здесь я говорю о небольших утечках, для отслеживания которых может потребоваться чрезмерное количество отладки, исследований и обмена информацией.
И я говорю только о простом настольном приложении. Я понимаю, что приложения, работающие на серверах, должны быть максимально тесными.
Итак, вопрос, который я действительно задаю, - имеет ли это значение, если я знаю, что у меня есть программа, которая дает утечку, скажем, 40 байт при каждом запуске, имеет ли это значение?
(источник: beholdgenealogy. ru)
Также см. Мой следующий вопрос: Какие операционные системы устранят утечки памяти? < / а>
Постскриптум: я только что купил EurekaLog для разработки своей программы.
Я нашел отличную статью Александра, автора EurekaLog (кто должен знать эти вещи) о поиске утечек памяти. В этой статье Александр очень хорошо и лаконично излагает ответ на мой вопрос:
Хотя любая ошибка в вашем приложении всегда плохая, есть типы ошибок, которые могут быть не видны в определенных средах. Например, ошибки утечки памяти или ресурсов относительно безвредны на клиентских машинах и может быть смертельно опасным на серверах.