C++ Debugging


CPPDbg - Version:3
Description
In this three-day instructor-led course, you will learn how to debug C++ applications in development and production. Numerous extensive demonstrations and hands-on labs ensure that you will be able to apply the skills learned to your own applications and systems.
Intended audience
Experienced C++ developers with Win32 programming experience and understanding of fundamental OS concepts.
Expand All
  • Module 01 - Exceptions and Dumps
    • Exception Handling
    • Debugging Symbols
    • Dump Files and Types
    • Generating Dumps
    • Automatic Dump Generation
    • Opening Dump Files
  • Module 02 - Introduction to WinDbg
    • Basic WinDbg Commands
    • Smart Breakpoints
    • WinDbg Scripts
    • WinDbg Extensions
    • LAB: Getting Acquainted with WinDbg
    • LAB: Capturing Crash Dumps (x3)
  • Module 03 - C++ Debugging Scenarios
    • Heap Corruptions
    • Stack Corruptions
    • Memory Leaks
    • Resource Leaks
    • Deadlocks
    • LAB: Memory Leak
    • LAB: Heap Corruption
    • LAB: Stack Corruption
    • LAB: Handle Leak
    • LAB: Invalid Handles
    • LAB: Deadlock (x2)
  • Module 04 - Debugging Tools
    • Performance Counters
    • Process Explorer
    • Process Monitor
    • Application Compatibility Toolkit
    • ETW and Xperf
    • GFlags
    • LAB: Profiling with Xperf
    • LAB: Process Monitor
    • LAB: Application Compatibility Toolkit
  • Module 05 - Debugging in Visual Studio
    • Visual Studio Windows
    • Breakpoints and Tracepoints
    • Data Breakpoints, Function Breakpoints
    • Threads
    • Parallel Stacks, Parallel Tasks
    • Static Code Analysis
    • LAB: Runtime Checks
  • Module 06 - Assembly Language Fundamentals (Appendix)
  • Module 07 - Windows Programming Concepts (Appendix)
  • At least one year of experience with C++ programming
  • At least one year of experience programming Win32 applications
  • Familiarity with operating systems concepts such as virtual memory and multithreading
  • Familiarity with computer organization concepts such as CPU registers, cache, main memory
  • Debug C++ applications in Visual Studio
  • Debug C++ applications in the development and production environments with WinDbg and other tools
  • Use debugging tools to diagnose problems without a debugger