-qheapdebug
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qheapdebug | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
启用内存管理函数的调试版本。
编译器提供了一组在 stdlib.h 中定义的标准内存管理函数 (例如 _debug_calloc
和 _debug_malloc
) 的 "调试" 版本; 这些函数的头文件位于产品包含目录 (/opt/IBM/xlC/16.1.0/include) 中。 缺省情况下,编译器使用常规内存管理功能 (例如 calloc
和 malloc
) ,并且不会对其本地存储器进行预初始化。 当 -qheapdebug 生效时,编译器首先在产品包含目录中搜索头文件,在该目录中存储内存管理功能的调试版本,然后在系统包含目录中搜索头文件。
语法
缺省值
-qnoheapdebug
使用量
有关调试内存管理功能的完整信息,请参阅 内存调试库功能。
注: 编译器支持内存分配调试功能,但 IBM 没有更改或增强这些功能的计划。 如果您使用这些功能来调试程序中的内存问题,您可以迁移到 AIX® 调试malloc工具来实现相同的功能。
预定义的宏
__DEBUG_ALLOC__ 在 -qheapdebug 生效时定义为 1; 否则未定义。
示例
要使用内存管理功能的调试版本编译 myprogram.c
,请输入以下命令:
xlc -qheapdebug myprogram.c -o testing