2014-02-25 59 views
1

現在我試圖分析進程的內存使用情況,過程是用C寫 我想知道的大小和地址,每一個過程分配變量。 我知道/ proc/PID/maps是瞭解這些事情的好方法,但我不知道它是否能向我顯示我想知道的信息。例如,如果C程序像這樣分配內存,則 int i = 10;或類似這樣的浮動* F =(浮動*)malloc的(的sizeof(浮動)),我希望得到一個信息,如如下爲0x0000 ... 4字節(對於int i)和爲0x0000 ... (用於float * f)。 在我的情況下,如果地址被整合,這不是問題。我的意思是我不在乎我是否像下面這樣聲明2個變量int i,j;,信息如下:0x000 ... 8byte(關於i和j的信息)。 有沒有人知道像這些進程的內存使用情況,或知道如何理解/ proc/PID/maps的含義?我怎麼能知道進程的內存使用情況

我會很感激,如果有人教我的東西。

問候。

PS:

我累了valgrind。 這是很好的調試器,但我想處理我的C代碼中的數據。 valgrind是否有任何頭文件,或者是其他工具?

回答

0

Valgrind是改變對您有用:

Massif: a heap profiler 

注意使用--pages,作爲堆來衡量所有的內存進程中

+0

非常感謝!我會嘗試。 – user2779344

相關問題