驗屍後內存泄漏搜索(和分析)我的目標完全是從死後核心文件中找出爲什麼特定進程消耗大量內存。有什麼總結,我可以得到什麼?因爲顯而易見的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