堆释放分析
Heap deallocation profiling
valgrind 的 massif
工具能够在我的代码(包括调用堆栈)中为我提供 已分配 .
数据的点
例如
99.97% (3,775,782,255B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->51.05% (1,928,081,040B) 0x37E712: MyFunc() (my_file.h:49)
| ->51.05% (1,928,081,040B) 0x37E15A: AnotherFunc() (my_file.cpp:213)
...
不是获取 malloc/new 的这些统计信息,是否可以获取 free/delete 的这些统计信息?
即是否可以跟踪重新分配?
您可以使用例如跟踪释放memcheck 和选项 --xtree-memory=full.
参见例如https://www.valgrind.org/docs/manual/manual-core.html#opt.xtree-memory
和 https://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree
获取更多信息。
valgrind 的 massif
工具能够在我的代码(包括调用堆栈)中为我提供 已分配 .
例如
99.97% (3,775,782,255B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->51.05% (1,928,081,040B) 0x37E712: MyFunc() (my_file.h:49)
| ->51.05% (1,928,081,040B) 0x37E15A: AnotherFunc() (my_file.cpp:213)
...
不是获取 malloc/new 的这些统计信息,是否可以获取 free/delete 的这些统计信息?
即是否可以跟踪重新分配?
您可以使用例如跟踪释放memcheck 和选项 --xtree-memory=full.
参见例如https://www.valgrind.org/docs/manual/manual-core.html#opt.xtree-memory 和 https://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree 获取更多信息。