内存管理与GDB调试指南
1. 内存管理
在内存管理方面,我们首先来看一个存在内存泄漏问题的示例代码:
{
int j;
mtrace();
for (j = 0; j < 2; j++)
malloc(100); /* Never freed:a memory leak */
calloc(16, 16); /* Never freed:a memory leak */
exit(EXIT_SUCCESS);
}
运行该程序并查看跟踪信息时,我们可以按照以下步骤操作:
1. 导出跟踪日志文件:
$ export MALLOC_TRACE=mtrace.log
- 运行程序:
$ ./mtrace-example
- 查看内存泄漏信息:
$ mtrace mtrace-example mtrace.log
输出结果如下:
Memory not freed:
-----------------
Address Size
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



