15-调试内存分配
9.5.1 调试内存分配
程序可以设置环境变量MALLOCCHECK,开启存储系统中高级的调试功能。这个高级的调试检查是以降低内存分配的效率为代价的,然而这个开销在开发应用的调试阶段却是非常值得的。
由于控制调试只需要设置环境变量MALLOCCHECK,因此不必重新编译程序。例如,可以简单地执行如下命令:
如果MALLOC_CHECK_设置为0,存储系统会忽略所有错误。如果它被设为1,信息会被输出到标准错误输出stderr。如果设置为2,进程会立即通过abort()终止。因为 MALLOCCHECK 会改变正在运行的程序的行为,所以setuid程序忽略这个变量。