Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 30. srpen 2010, 21:24:07 Předmět: Analýza využití paměti |
|
|
Zdravím,
jak analyzovat heap C++ programu, tzn. kterou část heapu zabírá která třída (je jasné, že lze alokovat i mimo konstruktory, tyto alokace by mohly být označeny např. jako ostatní). Zatím znám massif pro linux, ale zajímají mě další alternativy.
Díky. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Tringi

Založen: 28. 07. 2007 Příspěvky: 290
|
Zaslal: 30. srpen 2010, 22:03:08 Předmět: |
|
|
To dost záleží na kompilátoru, který používáš, ale dá se tomu pomoct. MSVC tuším, alespoň u starší verzí, mapuje alokace přímo na HeapAlloc (GetProcessHeap (), ...), případně si to vynutíš přetížením new/delete, a pak se to dá snadno procházet pomocí HeapWalk, a to tak, že statické typy budeš muset odhadnou podle velikosti, pro dynamické by ti měl pomoci první pointer (na vtable), případně typeid.
A pak obligátně, pomocí vlastních operátorů new a delete pro každou třídu implementujících ruční indexování. _________________ WWW | GitHub | TW |
|
Návrat nahoru |
|
 |
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna