Advanced Windows Debugging Techniques

מק"ט: #4149 | משך קורס: 16 שעות אק'

Windows is a complex operating system, and developing applications for Windows can lead to nasty bugs that can reduce the developer productivity or even worse - introduce a buggy application!! Finding and mitigating these bugs is an "art" that any developer should know, but it is an art not easy to acquire.
In this course, the participant will be introduced to Windows debugging mechanisms and tools, and shall discover the tricky art of debugging a Windows application.

הקורס פעיל לקבוצות מטעם ארגונים בלבד, ניתן לשלוח פנייה רק אם מדובר בקבוצה
*שדות חובה


To effectively mitigate bugs during the development and production lifecycle

קהל יעד

Windows platform C++ developers

תנאי קדם

  • Some chapters of the course require basic .NET knowledge
  • At least 2 years of experience in C++ development on Windows
  • Familiarity with basic debugging tools and techniques is an advantage


Module 1: The Debugging Process


Module 2: Introduction to the Developer Debugging Toolbox

  • Windows' tools
  • Debugging tools for Windows
  • Sysinternals tools
  • Windows Platform SDK and Driver Kit tools
  • Other free debugging tools

Module 3: The Basic Structure of a Program

  • The CPU
  • Assembly Language
  • Windows Components Overview
  • The Windows Portable Executable Format
  • Windows Memory Concepts
  • The Stack
  • The Heap
  • C/C++ Runtime
  • Process Handle Tables and Kernel Objects
  • Windows Synchronization Mechanisms
  • Windows Exceptions
  • The Registry


Module 4: Introduction to the Windows Debugger

  • The Anatomy of the Windows Debugger
  • Program Database & Symbols
  • Symbols, Source Code & Source Servers
  • DbgHelp.dll
  • Tour around Visual Studio Debugging
  • NTSD, CDB, KD and WinDbg
  • Remote Debugging
  • Application Verifier


Module 5: Handling Memory Corruptions

  • Stack Corruptions
  • Heap Corruptions
  • C++ Heap (CRT Debug Heap)


Module 6: Handling Resource Leaks

  • Memory Leaks
  • Handle Leaks


Module 7: Handling Synchronization Bugs

  • Deadlocks
  • Race-Conditions
  • Starvations


Module 8: Appendix

  • Debugging Communication Related Issues
  • Debugging Windows 8 Applications


משך הקורס הינו 32 שעות אקדמאיות