验尸后内存泄漏搜索(和分析)我的目标完全是从死后核心文件中找出为什么特定进程消耗大量内存。有什么总结,我可以得到什么?因为显而易见的valgrind是不可能的,因为我无法访问实时进程。gdb
首先得到类似的/ proc /“PID” /图输出的东西,会帮助,但
maintenance info sections
(如下所述:GDB: Listing all mapped memory regions for a crashed process)在gdb没有显示我的堆内存消耗。
info proc map
是一个选项,因为我可以使用完全相同的代码访问机器,但据我所见,它是不正确的。我的过程使用700MB-s,但所看到的地图仅占10 MB。我没有看到.so -s在哪里可见
maintenance print statistics
您是否知道任何其他可能有用的命令?
我总是可以测试代码,但这并不容易。随着通过指针达到所有分配的数据,就像干草堆里的针。
你有什么想法吗?
然后我应该看看脚本。步行数据结构是一个很大的帮助。 – tothphu 2012-03-01 23:32:15