Обнаружение утечек памяти в dbx с помощью операторов new и delete - PullRequest
2 голосов
/ 28 августа 2010

Мне очень интересно использовать Sun Studio для обнаружения утечек памяти в приложениях C ++ с помощью отладчика dbx, но я думаю, что этот отладчик показывает только утечки памяти, вызванные malloc / realloc и free;Я не уверен в этом, но я пытался с программой на C ++, и у меня не было утечек памяти.В этом случае я бы попробовал Вальгринд.Если я сделал что-то не так (высокая вероятность) Как отлаживать приложения C ++?

Спасибо.

1 Ответ

0 голосов
/ 28 августа 2010

Ну, некоторые моменты, которые вы должны убедиться, во-первых, в отслеживаемом вами приложении есть утечка памяти. Если нет, то профилировщик ничего не покажет. Если есть утечка, и профилировщик не захватывает, тогда нужно проверить, как ты делаешь это. Так что valgrind - это еще один лучший вариант, который вы можете попробовать. Так что, когда вы говорите «что-то не так (высокая вероятность) Как мне отладить приложения C ++?» Вы имеете в виду только относящиеся к отладке проблемы утечки памяти или к общей отладке приложения C ++? Если утечка памяти связана с этим, вы можете положиться на valgrind, иначе вы также можете посмотреть на трассировку AIX malloc. Вот ее URL:

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/malloc_trace_debug.htm

...