Overview"Who says you can't bottle
experience? Between these covers is a wealth of information: a
clear, logical approach to finding and eliminating bugs. This is an
absolute must-have book for anyone who develops, tests, or supports
software for Microsoft Windows."
-- 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 solutions fast,
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™ and 64-bit debugging, they address
emerging topics head-on—and nothing is ever
oversimplified or glossed over!
This book enables you to
Master today's most powerful Windows
debugging tools, including NTSD, CDB, WinDbg, KD, and ADPlus
Debug code that wasn't designed or
written for easy debugging
Understand debuggers "under the
hood," and manage symbols and sources efficiently
Debug complex memory corruptions related
to stacks and heaps
Resolve complex security problems
Debug across processes: identity tracking,
RPC debugger extensions, and tracking IPCs with Ethereal
Find and fix resource leaks, such as
memory and handle leaks.
Debug common thread synchronization
problems
Learn when and how to write custom
debugger extensions
Perform "postmortem debugging"
using crash dumps and Windows Error Reporting
Automate debugging with DebugDiag and the
Analyze Debugger command
Whether you're a system-level or
application developer, Advanced Windows Debugging delivers
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