2012-11-22 33 views
2

我試圖爲消耗太多內存並被具有9信號的OS(FreeBSD)殺死的程序執行內存分析。這發生在一些特定的數據上,因此將其分析到另一個(例如較小的)數據集上並不會提供太多幫助。當程序死亡時,9個地塊根本不會產生任何輸出。在這種情況下可以做什麼來獲得內存配置文件?在「死亡9」的過程中使用地塊

回答

1

如果您有最新版本的Valgrind的(> = 3.7.0), Valgrind的具有嵌入式gdbserver的,因此它可以一起用gdb使用。

在您的應用程序開始在Valgrind下運行之前,您可以放置​​斷點。 遇到斷點時,可以使用GDB監視器命令 來調用Valgrind工具的特定功能。 例如,使用Massif,您可以觸發生成報告。 隨着MEMCHECK,你可以做一個檢漏,檢查有效性位,...

也可以從shell命令行 觸發這些監控命令(使用Valgrind的vgdb實用程序)