В приложении C ++ на SunOS произошла утечка памяти.Как его найти?
Вопрос
я только что приземлился на Суносе:
$ uname -a
SunOS sunfi95 5.9 Generic_122300-13 sun4u sparc SUNW,Sun-Fire-880
и иметь Солнечную студию:
$ CC -V
CC: Sun C++ 5.8 2005/10/13
Как я могу найти ссылки на память в коде?(dbx в данном случае не является опцией).Valgrind не работает в системах sparc, единственное решение, которое приходит мне в голову, - это использовать какую-нибудь умную библиотеку, которая будет перегружать new и delete и подсчитывать, сколько раз они вызывались.Кто-нибудь знает что-нибудь похожее на лицензию BSD?
Другие советы
DTrace может быть очень полезен для определения того, что происходит в приложениях Solaris.
Я думаю, что есть бесплатные библиотеки, но мы используем Purify на Solaris, который работает хорошо.
Вы также можете использовать приложение под названием проверка cppcheck для обнаружения утечек памяти, а также ряда других проблем.Это бесплатный продукт с открытым исходным кодом.
Я никогда не использовал его на компьютерах SunOS или Sparc, но исходный код доступен, и вы могли бы попробовать его создать.Я не уверен, что происходит под капотом, но я не понимаю, почему вы не могли бы собрать его на машине SunOS Sparc.