【发布时间】:2011-12-03 05:50:18
【问题描述】:
我使用 Totalview 的 Memoryscape 进行了一些内存泄漏检查,但我“没有”,至少在 HEAP 上没有……但似乎 MemoryScape 之类的工具只检查堆,而不是堆栈泄漏……
我注意到 AIX 和 Solaris 上发生了一个小泄漏(任何可能的 Linux,仍在检查中)......并且正在努力寻找它。
我确实在我的应用程序中使用了一个(可连接的)线程来完成所有工作......
请多多包涵,C 不是我的日常工作 ;-) 但我有 2 个问题:
如果我生成一个 POSIX 线程并且它执行 malloc 等...这些是在堆上还是在线程堆栈上?当线程没有释放 malloc 时,内存检查(堆)工具通常也会发现泄漏吗?
您推荐使用哪些工具来查找堆栈上的泄漏?我在 Solaris 上使用过“libumem”,但不确定这是否能找到我需要的东西..
我可以在 Linux 上使用 VALGRIND 来检查我的线程堆栈上的泄漏吗?
感谢您的帮助;-)
林顿
【问题讨论】:
-
除非他的意思是他分配了他用于线程堆栈的空间。
-
对不起,我猜我的意思是“堆栈内存”......我使用的工具似乎只查看堆内存而不是线程堆栈内存......
标签: c