2

HP-UX Itanium プラットフォームで静的/ランタイムのメモリ リークを検出するために利用できるさまざまなツール (無料/商用) を探しています。

背景、我々: HP-UX 11.31 ia64 を使用します。しかし、すべてのアプリケーションはまだ 32 ビットのみです。C/Pro*C/COBOL のオブジェクト ファイルを含むソフトウェアと、多数のファイル/プログラムを含む非常に大きなアプリケーションを使用します。C ファイルは、標準の C コンパイラ (cc)、Oracle の proc を使用する Pro*C、および Microfocus の cob を使用する COBOL でコンパイルされます。最後に、すべてのオブジェクト ファイルを cob リンカーでリンクします。メモリ リーク/無効な参照によるコア ダンプの発生 (主に C/Pro*C コードから)

試行したこと: gdb と RTC (メモリ分析用の HP RunTimeCheck) を使用しましたが、COBOL と C が混在しているため、このツールでは重要な手がかりを得ることができません。Insure++ を使用する予定でしたが、HP-Itanium ではサポートされていないことがわかりました。現在、静的デバッグと手動出力に依存していますが、ご覧のとおり、非常に遅く効果的ではありません。

このシナリオで効果的なメモリリーク検出を行うために利用できるツール/ソフトウェアを提案してください。

前もって感謝します。

ps: Web で検索しているときに、1 つの商用ツールに出くわしましたが、使用したことはありません。http://www.dynamic-memory.com/products_Overview_htm.php

4

2 に答える 2

1

HP WDB は、次の目的で HP によって認識されます。HP WDB

于 2011-11-04T10:26:14.143 に答える
0

C プログラムのメモリ管理ミスを検出するCheckPointerツール。そのようなエラーが発生していない場合は、終了時に解放されていないメモリが割り当てられた場所が表示されます。

ソース コードで動作するため、特に Itanium ハードウェアに依存するわけではありませんが、コンパイラに依存します (GCC 3/4 + Microsoft C 方言を処理します)。ProC コードを前処理して C を生成し、生成された C コードに Checkpointer を適用することで処理する ProC。

おそらく、COBOL コードのラッパーをいくつか作成する必要があります (COBOL コードがポインターで何か悪いことをしないことを確認するため)。COBOL は実際には多くの動的割り当て/ポインター逆参照を行わないため (CALL 変数ステートメントに注意してください)、そのようなラッパー モデルは複雑ではありません。

于 2012-06-26T07:28:37.020 に答える