Инструменты для анализа памяти на HP-UX Itanium - PullRequest
2 голосов
/ 04 ноября 2011

Поиск различных инструментов (бесплатных / коммерческих), доступных для обнаружения утечек памяти, статических / рабочих, на платформе HP-UX Itanium.

Фон, мы: Используйте HP-UX 11.31 ia64. Но все наши приложения все еще 32-битные. Иметь программное обеспечение с объектными файлами из C / Pro * C / COBOL и очень большое приложение с большим количеством файлов / программ. Файлы C компилируются стандартным компилятором C (cc), Pro * C с процедурой Oracle и COBOL с Microfocus 'cob. Наконец, все объектные файлы связаны с компоновщиком cob. Из-за утечек памяти / неправильных ссылок (в основном из кода C / Pro * C)

Что пытались: Использовали gdb и RTC (HP RunTimeCheck для анализа памяти), но из-за смешанного характера COBOL и C инструмент не может дать важные подсказки. Запланировал использовать Insure ++, но обнаружил, что он не поддерживается в HP-Itanium. В настоящее время полагаются на статическую отладку и ручные распечатки, но, как видите, очень медленные и неэффективные.

Может ли кто-нибудь предложить инструменты / программное обеспечение для эффективного обнаружения утечек памяти в этом сценарии.

Заранее спасибо.

пс: При поиске в Интернете я наткнулся на один коммерческий инструмент, но никогда не использовал его. http://www.dynamic -memory.com / products_Overview_htm.php

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

HP WDB распознается HP для этих целей: HP WDB

0 голосов
/ 26 июня 2012

Наш CheckPointer инструмент, который находит ошибки управления памятью в программах на Си.Если вы не допустили таких ошибок, при выходе он сообщит вам, где была выделена несвободная память.

Поскольку он работает с исходным кодом, он не зависит напрямую от аппаратного обеспечения Itanium, но этозависимый (обрабатывает GCC 3/4 + диалекты Microsoft C).ProC, который вы бы обработали, предварительно обработав код ProC для получения C, а затем применив Checkpointer к сгенерированному C-коду.

Скорее всего, вам придется создать некоторые обертки для вашего кода COBOL (чтобы убедиться, что код COBOL не работает плохо с указателем).COBOL на самом деле не делает много динамического выделения / разыменования указателей (следите за операторами переменных CALL), поэтому такие модели-обертки не должны быть сложными.

...