Investigating C++ Applications in Production on Linux and Windows
summary
Shows concrete, runnable recipes: collect core dumps with goree/procdump and analyze them with GDB or cdb/windbg; sample CPU with perf at ~100Hz (example uses 97Hz -> 632 samples) and visualize with flame graphs; trace allocations with BPF/BCC memleak or ETW traces and aggregate on-kernel to avoid multi‑GB logs; inspect off‑CPU/blocking with context‑switch traces and offcpu tools. Includes exact tools and workflows on Linux (perf + BPF (BCC)) and Windows (ETW + Windows Performance Toolkit).
AI-written summary · about
chapters (14)
- 0:00Intro
- 2:55Tools And Operating Systems Supported
- 4:03A Mind The Overhead
- 5:12Dump Files/Core Dumps
- 6:10Generating Dump Files
- 8:52Basic Dump Analysis
- 19:56Getting Debug Information
- 22:36Sampling vs. Tracing
- 24:12Event Tracing For Windows
- 26:24Flame Graphs
- 27:28Reading a Flame Graph
- 42:06Memory Leak Analysis
- 50:21Blocked Thread Investigation
- 56:35Tracing File Accesses in Real-Time
related talks
53mProfiling and Debugging .NET Core Apps on Linux.
01h 29mMore GDB wizardry and 8 other essential Linux application debugging tools
52mApplication-Level Debugging and Profiling: Gaps in the Tool Ecosystem
01h 03mDiscussion with Kevin Gosse
59mBuilding your own debugging toolbox with ClrMD
25mFrom Continuous Profiling to Continuous Optimization
01h 06mHow to debug Linux multi threaded code
47mDive into BPF performance tools using python
