1. A method, implemented in a computing device, for data centric heap profiling, comprising: generating a type table for data structure types in source code using a compiler of the computing device; identifying each heap allocation site and a corresponding data structure type in the source code using the compiler, wherein the identifying the each heap allocation site and the corresponding data structure type comprises: generating a heap allocation site table which includes a program counter (PC) value, an allocation/de-allocation flag, and at least one pointer to at least one of the data structure types; and generating a mapping between the each heap allocation site and the corresponding data structure type using the at least one pointer; wherein the type table and the heap allocation site table are written to a non-loadable section of binary/object files generated by the compiler; and generating a data centric view of a heap of an application compiled from the source code based on the each heap allocation site and the corresponding data structure type using a debugger of the computing device when a snapshot of the heap is requested during an execution of the application.