首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tcmalloc未生成堆栈跟踪

tcmalloc未生成堆栈跟踪
EN

Stack Overflow用户
提问于 2012-05-30 22:55:40
回答 1查看 1.3K关注 0票数 3

我正在运行一个与tcmalloc链接的二进制文件,它没有为检测到的泄漏生成堆栈跟踪。

代码语言:javascript
复制
The output says:
The 1 largest leaks:
Leak of 1401231 bytes in 82093 objects allocated from:


If the preceding stack traces are not enough to find the leaks, try running THIS shell command:

pprof ../../prog "/tmp/prog.15062.prog-end.heap" --inuse_objects --lines --heapcheck  --edgefraction=1e-10 --nodefraction=1e-10 --gv

当我运行pprof时,我得到一条消息,告诉我没有要打印的节点。

我将包含有疑似内存泄漏的代码。

代码语言:javascript
复制
HeapLeakChecker checker("prog");
....
assert(checker.NoLeaks());

对如何调试这个有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-01-15 01:49:07

我建议尝试使用-fno-omit- frame -pointer (gcc)来构建程序,因为在某些设置中可能需要使用帧指针来获取堆栈跟踪。

tcmalloc通常使用libunwind来获取堆栈跟踪,但由于死锁问题,并不是所有地方都可以使用。

一个有趣的信息是所生成的文件(在本例中为/tmp/proc.15062.prog-end.heap)是否包含一些地址。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10818825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档