How can I collect heap memory distribution by types and memory ownership topology from a C++ application core dump?

118 views Asked by At

I am trying different approaches to profiling the heap of a C++ application.

Lets say I have a process running in a production environment. I notice high memory consumption and take a full memory dump of it.

What I would like to do with this dump is to traverse it from thread stacks along the pointers and collect type statistics and memory ownership topology and distribution. If there was a tool that could do this it should have had understanding of smart pointers and container-like types to properly traverse memory and interpret the data. This would require some adaptor framework for the basic utility libraries used by my application (be they boost, stl or something else).

I tried tools like valgring-massif and tcmalloc+gperftools. They allow to inspect the call stacks which led to the memory allocations.

I would like to see the picture from the different angle. I want to see how much memory is allocated for each type and how ownership topology of my application looks like.

So my question is, are there any analysis tools which implement desribed approach?

0

There are 0 answers