在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
答案 0 :(得分:1)
HP WDB被HP识别用于以下目的:HP WDB
答案 1 :(得分:0)
我们的CheckPointer工具可以在C程序中发现内存管理错误。如果你没有做出任何这样的错误,退出时它会告诉你未分配内存的位置。
因为它在源代码上运行,所以它并不特别依赖于Itanium硬件,但它依赖于编译器(处理GCC 3/4 + Microsoft C方言)。通过预处理ProC代码生成C然后将Checkpointer应用于生成的C代码,您将处理ProC。
您可能必须为您的COBOL代码构建一些包装器(以验证COBOL代码不会对指针执行任何错误)。 COBOL并没有真正做很多动态分配/指针解除引用(注意CALL变量语句),所以这样的包装模型不应该复杂。