Self-Awareness in C++ Code
Explore a comprehensive talk on developing a memory profiler for C++ code optimization and debugging. Dive into strategies for intercepting malloc, capturing tracebacks, and building callstack histograms. Learn about data structures, gotchas, and fixes in profiler development, including recursive malloc handling and thread-local storage. Examine real-world examples of memory allocation, deallocation, and leak detection. Discover how to perform hierarchical and graphical analysis of memory usage, and understand the importance of allocation context in mixed-mode systems. Gain insights from a case study of the Bloomberg Professional Service, demonstrating practical applications of memory profiling techniques in high-performance software development.