отладка с помощью dbx, проверка утечек памяти с помощью rtcaudit.so - PullRequest
0 голосов
/ 18 марта 2011

я увидел эту страницу и обнаружил, что мы можем проверить утечки памяти программы, используя dbx. я практически никогда не делал этого, но, похоже, это хороший способ проверить утечки памяти.

Раньше я работал в операционных системах HPUX и IBM AIX UNIX, где нет графического интерфейса и всегда использовался в командной строке. библиотека rtcaudit.so (для проверки во время выполнения) предоставляется Sun. Означает ли это, что эта библиотека доступна только на Sun Solaris?

Вы можете сказать мне, почему я не могу попробовать себя. Но проблема в том, что я сейчас работаю не с Unix, а с Windows. Я просто хочу узнать, можем ли мы использовать то же самое в HPUX или IBM AIX.

Кто-нибудь знает об этом? Пожалуйста, поделитесь этим, если вы знаете

Ответы [ 2 ]

3 голосов
/ 31 марта 2011

Альтернативой с открытым исходным кодом является Valgrind .Это не только обнаруживает утечки памяти, но также и другие виды ошибок памяти и кучу других вещей, которые я никогда не использовал.В настоящее время он работает только на Linux, MacOS, FreeBSD и NetBSD, но если ваша программа не зависит от платформы, вы можете разработать и отладить ее на одной платформе, прежде чем запускать ее на целевой платформе.

3 голосов
/ 29 марта 2011
  • rtcaudit.so является частью Oracle Solaris Studio (ранее известной как Sun Studio). Несмотря на название, он также работает на Linux x86. Так что если у вас есть Linux-бокс и вы можете попробовать его там. (В этом случае вы можете сначала попробовать Valgrind, см. Ответ Скотта.)

  • Для HP есть Отладчик антилоп гну (WDB) (модифицированный gdb). WDB имеет свои собственные расширения для поиска утечек памяти. Хотя они отличаются от Suns dbx, вы все равно можете попробовать.

  • Если вы используете Visual Studio, он предлагает некоторую поддержку для поиска утечек памяти. См. Memory Leak Detection and Isolation в MSDN.

  • Есть несколько бесплатных библиотек, чтобы отлавливать ошибки такого типа. Для Windows есть, например: DUMA, Electric Fence и Visual Leak Detector. (Невозможно опубликовать ссылки, потому что у меня недостаточно очков репутации.)

PS: Если я столкнусь с такими проблемами, первое, что я попробую, это Вальгринд (см. Ответ Скотта) Это не требует никакого взаимодействия, а просто выплевывает много полезной информации. Хотя это не полный отладчик, он часто дает достаточно подсказок, чтобы исправить ошибку. Настоятельно рекомендуется! Хотя не работает в Windows.

Возможно, вы захотите взглянуть на этот вопрос , этот вопрос и этот вопрос здесь, на stackoverflow.com.

...