We find the root cause
of the problem

WinDbg Workshop

Using WinDbg to Analyze User Mode Dumps and Low Level Debug User Mode Applications

A Three-day Workshop

Background

Visual Studio is doing its best to hide the ugly real native world from the novice and naïve programmer. Even in the .NET world, you use many native components and actually the .NET itself is a native application.
One of the most useful techniques available especially in production and QA environments is the ability to take a memory snapshoot of the problematic application in a dump format. Unfortunately, Visual Studio is not very good in Dump analyzing and Dumps processing.
The WinDbg debugger, which is part of the Debugging Tools for Windows Package, is a very strong debugging tool, used to debug native and managed code and to analyze memory dumps. It can be used without installation in production and QA environments, and it is an excellent tool to find subtle bugs and to investigate and analyze user mode dumps in development environment.
WinDbg is fully scriptable and have many advanced features that make it a valuable tool for unit testing, automated tastings and collecting data at production and QA environments. You can extend the tool to meet your specific needs by adding your custom made debugger extensions
In this unique workshop we’ll cover all the important features of this tool as well as some other tools from the Debugging Tools for Windows package. We’ll learn all the important debugger and common extensions commands usage and also some useful debugging techniques based on real world experience.
The workshop offers original material based on field experience and information taken from little-known Microsoft support articles and documentation. The workshop is practical and the participants will practice the techniques in a lab environment. There isn’t any Microsoft Official Curriculum course with the information given in this workshop. The participants will get valuable practical knowledge necessary for anyone who has to trace subtle bugs in its application. During the workshop, developers will be exposed to tools, techniques and skills that are not part of the normal day-to-day development environment, techniques that will enable developers to find the root cause of failures quickly..

Target Audience

This workshop is intended for developers that want to learn how to use WinDbg and some other tools from the Debugging Tools for Windows package to find complicated bugs and to learn more about the real world behavior of their user mode applications. The workshop is useful for anyone who wants to improve its debugging skills, and add strong debugging tools and techniques to its magazine.

Pre-requisites

The workshop is for senior programmers with at least several years of experiences in programming and debugging user mode applications.

Main Topics:

  • The Debugging tools for Windows package.
  • Configuring the debugging environment.
  • Extracting a dump from a program.
  • Dump analysis.
  • Just in time debugging and Non Invasive debugging.
  •  Debugger extensions and Useful extension’s commands.
  • Techniques to automate diagnostic data gathering and analyzing.
  • Handling common scenarios, Hangs, Crashes, Etc.
  • Analyzing managed and native Deadlocks
  • Tips, tricks and lessons learnt in the field.
  • WinDbg, CDB, KD and NTSD.
  • Handling symbols and other environment components.
  • Dump types and how to choose the right type.
  • Live Debugging of user mode applications.
  • Useful debugger’s commands.
  • Debugger Scripting language and Common usages of scripts for debugging.
  • Managed world Vs. Native world differences in debugger usage and capabilities and how to handle each.
  • Analyzing managed and native memory issues
  • Analyzing CLR exceptions.