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

Поиск различных инструментов (бесплатных / коммерческих), доступных для обнаружения утечек статической / рабочей памяти на платформе 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. В настоящее время полагаются на статическую отладку и ручную печать, но, как видно, очень медленные и неэффективные.

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

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

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

2 ответа

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

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

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

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

Другие вопросы по тегам