Project Description
The current project contains the samples used in Advanced Windows Debugging book, published by Addison-Wesley in The Addison-Wesley Microsoft Technology Series.

Description
The sample code has been used to illustrate the debugging techniques presented in the book.
The sample code is structured to achieve one goal: Present examples of common programming mistake in the shortest and most concise fashion as to not pollute the basic principle of the programming mistake being examined. To satisfy the goal of short and concise examples we had to, at times, concoct examples rather than use real life examples. Even though the sample code is “made up” it serves to simulate real life examples and every effort was made to ensure that the example stays true to the problem being examined.
All sample code is written in C/C++. We chose this language for two simple reasons:
  • C/C++ is predominantly used in Windows development.
  • In order not to obscure the debugging concepts discussed with higher level abstractions we chose the language that is most commonly used, it is closest to the hardware and the abstractions used can be controlled.
All sample code is compiled and tested using the Windows Drivers Kit. The WDK was chosen so that readers would be able to enjoy learning the art of Windows debugging without being required to purchase a complete developer suite. The new Windows Drivers Kit contains a complete command line C/C++ development environment and a great set of associated development tools.

Binaries
The compiled binary files are available on the books website Advanced windows Debugging. In addition to store the binary files, the site also acts as a symbol server for the books binaries. When you try out the debugging sessions illustrated in the book, there is no need to download all of the symbols for the binaries, rather point your debuggers symbol path directly to the books symbol server and you can debug with remote symbols. The sources are also retrieved by the source servers from the books website during debugging.

Other uses
If you want to use the samples in a presentation, please mention the samples are courtesy of Advanced Windows Debugging by Mario Hewardt (Author), Daniel Pravat (Author) and that the material is copyrighted. Please let the authors know as well.

Immediate benefit
The chapter describing the techniques used to debug memory corruption problems is available for download at the following link: Sample Chapter. The coresponding book is also available in many bookstore.

Enjoy,
Daniel

Last edited Apr 1, 2008 at 3:52 AM by dpravat, version 7