Инструменты для анализа памяти в HP-UX Itanium

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

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

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

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

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

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


person compuneo    schedule 04.11.2011    source источник


Ответы (2)


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

person Tio Pepe    schedule 04.11.2011

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

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

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

person Ira Baxter    schedule 26.06.2012