当前位置:嗨网首页>书籍在线阅读

15-调试内存分配

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.5.1 调试内存分配

程序可以设置环境变量MALLOCCHECK,开启存储系统中高级的调试功能。这个高级的调试检查是以降低内存分配的效率为代价的,然而这个开销在开发应用的调试阶段却是非常值得的。

由于控制调试只需要设置环境变量MALLOCCHECK,因此不必重新编译程序。例如,可以简单地执行如下命令:

435.png 如果MALLOC_CHECK_设置为0,存储系统会忽略所有错误。如果它被设为1,信息会被输出到标准错误输出stderr。如果设置为2,进程会立即通过abort()终止。因为 MALLOCCHECK 会改变正在运行的程序的行为,所以setuid程序忽略这个变量。