Какие параметры доступны для отладки памяти c ++ в OpenBSD? - PullRequest
0 голосов
/ 18 августа 2011

Я полагаю, что в моем сложном приложении c ++ на OpenBSD происходит двойное удаление и некоторое повреждение памяти. Я хотел бы отследить первое местоположение, в котором мой объект удален, и любые точки, в которых осуществляется доступ к выделенной памяти.

Я обычно смотрю на valgrind, но это только linux. В противном случае я бы снабдил своих новых и удаленных операторов каким-то кодом отслеживания, но мне было трудно определить правильный поиск Google для этого.

Есть ли какой-нибудь пакет для openbsd, который даст мне информацию об ошибках памяти? Есть ли какой-либо стандартный способ переопределения нового и удаления для обнаружения переполнений, недопустимых доступов, двойных освобождений?

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Это очень помогает:

man malloc

Параметры отладки могут быть включены для всей системы, среды или для конкретной программы.

0 голосов
/ 12 января 2012

Не знаю, желаете ли вы использовать сторонний инструмент, но средство проверки памяти C ++ очень хорошо.

http://www.softwareverify.com/cpp-memory.php

Он изолирует утечки памяти / дескриптора, сообщает, сколько памяти просочилось, и показывает позицию в коде. Если бы только это могло тогда исправить утечку для вас:) 30-дневная бесплатная пробная версия также доступна.

Я использовал его, чтобы найти утечки в моем унаследованном приложении C ++ MFC, где предыдущий разработчик, казалось, не думал, что когда-либо было необходимо перераспределять память!

...