2

寻找各种可用于检测 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 上不受支持。目前,依靠静态调试和手动打印,但正如您所见,非常缓慢且无效。

任何人都可以建议可用于在这种情况下进行有效内存泄漏检测的工具/软件。

提前致谢。

ps:在网上搜索时,我遇到了一个商业工具,但从未使用过。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

我们的CheckPointer工具可以发现 C 程序中的内存管理错误。如果您没有犯任何此类错误,退出时它会告诉您未释放的内存分配在哪里。

因为它在源代码上运行,所以它并不特别依赖于 Itanium 硬件,而是依赖于编译器(处理 GCC 3/4 + Microsoft C 方言)。您将通过预处理 ProC 代码以生成 C 然后将 Checkpointer 应用于生成的 C 代码来处理 ProC。

您可能必须为您的 COBOL 代码构建一些包装器(以验证 COBOL 代码不会对指针造成不良影响)。COBOL 并没有真正做很多动态分配/指针取消引用(注意 CALL 变量语句),所以这样的包装模型不应该很复杂。

于 2012-06-26T07:28:37.020 回答