6 of 6 people found the following review helpful
The inside scoop...,
This review is from: Inside Windows Debugging (Developer Reference) (Paperback)
Inside Windows Debugging is the latest book on in-depth debugging and tracing strategies written by an author with an inside look into core techniques of Windows; some of which he worked on directly.
With all the latest programming languages and integrated development environments aimed at making writing software applications more accessible, creating applications has never been easier than today. Unfortunately, creating an application is only one part of the equation, getting it to work correctly is the other - usually much harder - part. This book focuses on exactly that harder part; identifying, tracing and resolving bugs in your application as well as preventing them in the first place.
Many still think of debugging as an activity after a software application has been finished and users start to experience issues that require investigation. This, however, is far from the truth these days since many development idioms such as test-driven development (TDD) actually promote debugging during development phases.
The book is divided into three parts, the first providing a bit of background about the evolution and architecture of Windows, the Windows Developer Interface as well as the Microsoft Developer Tools. The second part introduces the basics of debugging, how the Windows debuggers actually work and debugging your application after a crash (postmortem) before moving to more advanced techniques such as scripting the debugger, debugging the WOW64 environment, code analysis tools, debugging system internals as well as looking at common debugging scenarios. The third part introduces strategies to trace and analyze application behavior using different mechanism and tools such as the Event Tracing for Windows (ETW) and the accompanying Windows Performance Analysis Tool (Xperf). Finally, two appendices provide a quick start on how to use the WinDbg debugger to accomplish both user-mode and kernel-mode debugging tasks.
This book is not aimed at the novice developer by any means since a general understanding of C++ and/or C# as well as the Win32 platform and/or the .NET framework is required. The author does provide an excellent job by introducing basic concepts prior to moving to more advanced topics so that nobody really should get lost while moving from chapter to chapter. By not just preaching the theories but also presenting real-world debugging scenarios, the author also manages to provide developers with methods and tools they immediately can use in their daily routine.
I have always been a fan of most books coming from Microsoft Press and this one is no exception: a wealth of information using an inside look into the underlying mechanics and paired with an engaging writing style makes for another book every serious developer should have on his/her shelf.