Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore advanced techniques for investigating and diagnosing complex issues in C++ applications running on Linux and Windows in production environments. Learn to use lightweight, production-ready tools that don't require application restarts for debugging, diagnosing, and profiling. Discover how to handle scenarios such as high CPU load, blocked threads, heavy I/O, memory leaks, and initialization issues using freely available tools. On Linux, master the use of 'perf' multi-tool, ftrace, and BPF kernel technology. For Windows, become proficient with ETW (Event Tracing for Windows) and the Windows Performance Toolkit. Gain insights into debugging symbols, effective call stack generation, and method name demangling. Understand the differences between sampling and tracing, learn to read flame graphs, and practice real-time tracing of file accesses. This comprehensive talk equips you with the skills to perform dark craft diagnostics on C++ applications without the need for high-overhead tools, enabling efficient troubleshooting in production environments.
Syllabus
Intro
Tools And Operating Systems Supported
A Mind The Overhead
Dump Files/Core Dumps
Generating Dump Files
Basic Dump Analysis
Getting Debug Information
Sampling vs. Tracing
Event Tracing For Windows
Flame Graphs
Reading a Flame Graph
Memory Leak Analysis
Blocked Thread Investigation
Tracing File Accesses in Real-Time
Taught by
NDC Conferences