tcmalloc编译调试
tcmalloc是google开源的一款高性能malloc库,相对于jemalloc或者libc的malloc,在多线程下性能特别优异,是现在c++系统的基石,应用非常广泛。
一直想整体研究下它,但一直没找到很充足的时间,而且前面的一些学习也容易忘掉,看来还是要找个地方记录一下进度,这样下次就能接起来了
今天现在研究下他的编译和构成。
1. 编译
首先把它的代码从git上checkout出来编译
这样就能直接在根目录编译出来UT和lib等
2. debug tcmalloc
剖析tcmalloc,那么最直观的方法是gdb单步调试看他的malloc和free的运行逻辑,所以首先需要能够debug编译出来的程序
首先写一个最简单的malloc程序
开启静态链接 ./configure --enable-static make 生成的target在.libs目录
用.libs下面的本地lib链接 g++ test.cpp .libs/libtcmalloc_debug.a -lpthread
最后更新于