From the Back Cover
-- Bob Wilton, Escalation Engineer, Critical Problem Resolution Team, Microsoft
“An excellent reference for both intermediate and advanced debuggers: highly practical, and filled with tricks and strategies. This book stands out from all other Win32 debugging literature, thanks to its in-depth examples-including resolving intricate problems like stack and heap corruptions.
-- Kinshuman, Development Lead, Windows Core OS Division, Microsoft
The First In-Depth, Real-World, Insider's Guide to Powerful Windows Debugging
For Windows developers, few tasks are more challenging than debugging--or more crucial. Reliable and realistic information about Windows debugging has always been scarce. Now, with over 15 years of experience two of Microsoft's system-level developers present a thorough and practical guide to Windows debugging ever written.
Mario Hewardt and Daniel Pravat cover debugging throughout the entire application lifecycle and show how to make the most of the tools currently available--including Microsoft's powerful native debuggers and third-party solutions.
To help you find real solutionsfast, this book is organized around real-world debugging scenarios. Hewardt and Pravat use detailed code examples to illuminate the complex debugging challenges professional developers actually face. From core Windows operating system concepts to security, Windows® Vista(tm) and 64-bit debugging, they address emerging topics head-on-andnothingis ever oversimplified or glossed over!
This book enables you to
- Master today's most powerful Windows debugging tools, including NTSD, CDB, WinDbg, KD, and ADPlusDebug code that wasn't designed or written for easy debuggingUnderstand debuggers “under the hood, and manage symbols and sources efficientlyDebug complex memory corruptions related to stacks and heapsResolve complex security problemsDebug across processes: identity tracking, RPC debugger extensions, and tracking IPCs with EtherealFind and fix resource leaks, such as memory and handle leaks.Debug common thread synchronization problemsLearn when and how to write custom debugger extensionsPerform “postmortem debugging using crash dumps and Windows Error ReportingAutomate debugging with DebugDiag and the Analyze Debugger command
Whether you're a system-level or application developer,Advanced Windows Debuggingdelivers the deep understanding of debugging that could save you weeks on your very next project.
Part I Overview
Chapter 1 Introduction to the Tools
Chapter 2 Introduction to the Debuggers
Chapter 3 Debugger Uncovered
Chapter 4 Managing Symbol and Source Files
Part II Applied Debugging
Chapter 5 Memory Corruptions Part I - Stacks
Chapter 6 Memory Corruptions Part I - Heaps
Chapter 7 Security
Chapter 8 Inter-process Communication
Chapter 9 Resource Leaks
Chapter 10 Synchronization
Part III Advanced Topics
Chapter 11 Writing Custom Debugger Extensions
Chapter 12 64-bit Debugging
Chapter 13 Postmortem Debugging
Chapter 14 Power Tools
Chapter 15 Windows Vista Fundamentals
Appendix A Application Verifier Test Settings
If you likeAdvanced Windows Debugging, keep an eye out for ADVANCED .NET DEBUGGINGCOMING IN NOV. 2009.
About the Author
Mario Hewardt is a senior design engineer with Microsoft, and has worked extensively in the Windows system level development area for the last nine years. He is currently involved with designing and implementing the next generation management protocol for Windows Longhorn.
Daniel Pravat is a senior design engineer with Microsoft and has worked in the Windows division, primarily within the Windows management area. He is currently leading a development team that has the responsibility of shipping the most reliable management platform for Windows Longhorn.